遇到的编码问题
?
# 把一個字符串變成 Unicode 碼位的列表 >>> symbols = '$¢£¥€¤' >>> codes = [ord(symbol) for symbol in symbols] >>> codes [36, 162, 163, 165, 8364, 164] #`編碼自動檢測`_ 功能可以在Beautiful Soup以外使用,檢測某段未知編碼時,可以使用這個方法:from bs4 import UnicodeDammit dammit = UnicodeDammit("Sacr\xc3\xa9 bleu!") print(dammit.unicode_markup) # Sacré bleu! dammit.original_encoding # 'utf-8' # body = response.body.decode('utf-8', 'ignore')response = requests.get(url,headers=headers) response.encoding = 'gbk' res = response.text print(res)?解碼 unicode 網頁編碼
# 輸出的文件是Unicode # \u6d77\u5c14\u7535\u5668\u62df\u79c1\u6709\u5316轉為中文 r = requests.get(url).content.decode("unicode-escape") a = r.encode('utf8').decode('utf8') import htmla = 'zoneAliasName:"英德西法意阿土站-YQ", ' print(html.unescape(a)) # r = requests.get(url, headers=head) r.encoding = r.apparent_encoding content = r.text?
1366, "Incorrect string value: '\\xF0\\x9F\\x91\\x87\\xF0\\x9F'
因為mysql不能識別4個字節的utf8編碼的字符,拋出了異常,或者內容中出現了特殊表情字符,這應該也是問題的根源。、��、類似于這種4個字節,將對應字符類型換成將對應的數據類型改為utf8mb4類型,同時連接類型也要改成utf8mb4_general_ci。
?
python連接數據庫代碼也要修改 charset 為 utf8mb4
python 代碼形式(3.6)?
?conn=pymysql.connect(?
? ? ? ?host=’127.0.0.1’,?
? ? ? ?port=3306,?
? ? ? ?user=’root’,?
? ? ? ?passwd=’343434’,?
? ? ? ?db=’kmind8’,?
? ? ? ?charset=’utf8mb4’,?
? ?)
總結
- 上一篇: 最新的 iOS 申请证书与发布流程 20
- 下一篇: 车道偏离报警系统