1. 程式人生 > >python報錯:'ascii' codec can't encode character u'\xed' in position 8: ordinal not in range(128)

python報錯:'ascii' codec can't encode character u'\xed' in position 8: ordinal not in range(128)

這類問題是因為要處理的內容中含有非英文的字元,可能是漢字也可能是一些其他特殊字元。

例如:我今天遇到的“CONNECTOR❤️️”這個“❤️”圖案作為輸入輸出的一部分,輸出可以正常輸出,但是寫入到txt檔案,就會出現標題中的錯誤。

檢視網上的一些說法,很多是說寫這樣幾行命令:

注意,sys在這裡使用“setdefaultencoding”方法會被標記灰色背景,原因是(我這裡用的是python2.7)找不到此方法,這個方法只在某些python版本中存在,後來的python版本去除了此方法。

所以,不建議使用此方法,但是狗血的是,寫入這幾行之後竟然狗血的不報錯了。

建議的方法:

使用encode("UTF-8")方法。

即,在要輸出的變數進行——"變數名".encode("UTF-8") 的方法處理。之後在進行寫入或者輸出操作。