1. 程式人生 > >UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position 46:illegal multibyte seque

UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position 46:illegal multibyte seque

一、 最近使用python寫入檔案時,出現瞭如下的錯誤:

但是content的內容是unicode編碼,不知道怎麼和gbk扯上了關係,對content使用encode()和decode(),用gbk,utf-8,gb2312各種編碼解碼都沒有效果;

結論是:

1.‘gbk’ codec can’t encode character :說明是將Unicode字元編碼為GBK時候出現了問題,可能是本身Unicode型別的字元中,包含了一些無法轉換為GBK編碼的一些字元;

2. gbk無法轉換'\xa0'字元,所以在轉換前需要將“\xa0”替換掉;使用string.replace(u'\xa0', u' ');

我在上述程式碼中使用:

self.file.write(content.replace(u'\xa0', u''))

 結果有效,沒有報錯;

另外一種方法,在gbk解碼時忽略掉不能解碼的資料:

self.file.write(content.encode("gbk", 'ignore').decode("gbk", "ignore"))

但是總覺得這種方法是在迴避問題,後來突發靈感,這是在檔案寫入的時候報的錯誤,而萬惡的windows開啟檔案預設是以“gbk“編碼的,可能造成不識別unicode字元,於是做了如下的修改:

self.file = open('biaobai.json', 'w', encoding="utf-8")
self.file.write(content)

轉載自 天宇之遊 

相關推薦

UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position 46:illegal multibyte seque

一、 最近使用python寫入檔案時,出現瞭如下的錯誤: 但是content的內容是unicode編碼,不知道怎麼和gbk扯上了關係,對content使用encode()和decode(),用gbk,utf-8,gb2312各種編碼解碼都沒有效果; 結論是: 1

python 寫入檔案時,報錯:UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position 1806: ille

最近用到python 爬取智聯招聘上的網頁,想把頁面儲存本地: def writeintofile(filename, str): # 開啟檔案 fo = open(filename, 'w') # 寫的方式開啟檔案 prin

解決python3 UnicodeEncodeError: 'gbk' codec can't encode character '\xXX' in position XX

從網上抓了一些位元組流,想打印出來結果發生了一下錯誤: UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 8530: illegal multibyte sequence 程式

python讀取txt檔案的錯誤 gbk' codec can't decode byte 0xbf in position 2: illegal multibyte sequence”的解決辦法

眾所周知 ,python對檔案讀寫不友好 在我匯入一個新建utf-8 txt檔案依然報錯之後 最終 data11=open("D:/Downloads/盜墓筆記全集.txt").read().en

Python讀取txt文字出現“ 'gbk' codec can't decode byte 0xbf in position 2: illegal multibyte sequence”

1、通過python讀取temp.txt時,出現如下錯誤:錯誤的意思是:Unicode的解碼(Decode)出現錯誤(Error)了,以gbk編碼的方式去解碼(該字串變成Unicode),但是此處通過g

Python UnicodeEncodeError: 'gbk' codec can't encode character 解決方法,需要的朋友可以參考下

最近研究用聚類演算法實現日誌的分類,在得到結果後準備將結果寫入到指定文字是出現了這樣的錯誤: 經過網上多次查詢得到了解決方案: 就是在開啟一個文字準備寫入的同時同樣要指定一下字符集。這樣他就會以同樣的字符集開啟你要分析的文字。 總結: 使用Python寫檔案的

爬取網頁資料時,出現UnicodeEncodeError: 'gbk' codec can't encode character '\ue4bf'

UnicodeEncodeError: 'gbk' codec can't encode character '\ue4bf' in position 1235: illegal multibyte 網頁的資料應該是'utf-8'編碼,這個可以在網頁的head上面看得到,然

【python基礎知識】python輸出時出錯,UnicodeEncodeError: 'gbk' codec can't encode character '\ue4bf.....

python的print()函式預設好像列印GBK編碼的格式,所以需要列印的字串需要改變編碼格式。 查詢到一個有用的辦法,看原文: ----------------------------------------------------------------------

python寫入文件中遇到 UnicodeEncodeError: ‘gbkcodec cant encode character 錯誤的解決辦法

error ror window 聲明 nco 參數 utf-8 練習 error: 在寫入TXT文件時,某些頁面總是報UnicodeEncodeError: ‘gbk’ codec can’t encode character錯誤,網上找了半天也沒找到解決辦法。 後來

Python3 編碼問題:UnicodeEncodeError: 'ascii' codec can't encode character '\U0001f621' in posit

錯誤描述及分析 最近跑程式遇到一個很神奇的問題,程式在輸出的時候,前面都是正常的,但是中間同樣的code在執行的時候卻報錯: UnicodeEncodeError: ‘ascii’ codec can’t encode character ‘\U0001f6

python執行時出現UnicodeDecodeError: 'gbk' codec can't decode byte 0x89 in position 14: illegal ...的解決辦法

在python第四次實驗作業時: python在讀取檔案時出現“UnicodeDecodeError: 'gbk' codec can't decode byte 0x89 in position 14: illegal multibyte sequence”錯誤 翻譯為

python | 讀檔案編碼問題 | UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 34: illegal mu

python 讀取文字檔案,報出gbk問題 問題如下: UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in positio

UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 199: illegal multib

在python3中讀取檔案時報錯:UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xae in position 199: illegal multibyte sequence 報錯原因:某個字元不能解碼

python 讀取檔案時報錯UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multib

在python3讀取txt檔案時,遇到上面問題是因為: txt檔案存的是utf8編碼,開啟檔案的時候沒有指定編碼,檔案雖然是utf8編碼,但是在計算機裡面儲存的還是unicode編碼資料,即計算機是將檔案的內容按照utf8編碼成unicode後存到了硬碟上,而

關於openerp的bug報錯UnicodeEncodeError: 'ascii' codec can't encode character u'\u20ac' in position 2917

這個報錯是openerp的bug,生成報表的時候跳出報錯。解決方案:修改openerp的啟動檔案,在http.py檔案中加入如下語句:$ import sys $ reload(sys) $ sys.s

fool.load_userdict(path)出現編碼檔案出錯,UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position

錯誤問題:UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 34: illegal multibyte sequence 解決方法:           解決辦法1          

【python】-- 安裝 xadmin錯誤:"UnicodeDecodeError: 'gbk' codec can't decode byte 0xa4 in position 3444"

在學習 Django 時,需要安裝 xadmin ,結果出現了一下錯誤 C:\WINDOWS\system32>pip install xadmin Collecting xadmin

decode解碼報錯UnicodeDecodeError: 'gb2312' codec can't decode byte 0x8f in position 6018: illegal multib

python抓取網頁後用decode解碼,報錯資訊如下:Traceback (most recent call last): File "<pyshell#7>", line 1, in <module> html = html.decod

[Python除錯] 'gbk' codec can't encode character xxx in position的錯誤解決&編碼與解碼的思考探究

錯誤出現 使用request模組爬取網頁,將頁面原始檔res.text儲存到檔案get.html時, import request res = requests.get('http://weibo.com') with open(r'd:\get.html', 'w') as f

解決Python2.7的UnicodeEncodeError: ‘ascii’ codec cant encode異常錯誤

def 好的 列數 tab 2.7 模式 fault 應用 ber 今天準備將某SQLite數據庫的內容導出到文本文檔(*.txt)中,設計的Python程序如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19