![](/img/trans.png)
[英]Problems with encoding Website in Python. Getting 'charmap' codec can't encode character '\x9f' in position
[英]Python Encoding NLTK - 'charmap' codec can't encode character
import pypyodbc
from pypyodbc import *
import nltk
from nltk import *
import csv
import sys
import codecs
import re
#connect to the database
conn = pypyodbc.connect('Driver={Microsoft Access Driver (*.Mdb)};\
DBQ=C:\\TextData.mdb')
#create a cursor to control the datbase with
cur = conn.cursor()
cur.execute('''SELECT Text FROM MessageCreationDate WHERE Tags LIKE 'GHS - %'; ''')
TextSet = cur.fetchall()
ghsWordList = []
TextWords = list(TextSet)
for row in TextWords :
message = re.split('\W+',str(row))
for eachword in message :
if eachword.isalpha() :
ghsWordList.append(eachword.lower())
print(ghsWordList)
當我運行此代碼時,它給了我一個錯誤:
'charmap' codec can't encode character '\u0161' in position 2742: character maps to <undefined>
我在這里已經找到了其他類似問題的答案,並且用谷歌搜索了它。 但是我對Python和字符編碼都不了解,因此我不知道需要在哪里使用編解碼器模塊來更改用於顯示/追加/創建列表的字符集?
有人不僅可以幫助我提供代碼,還可以為我提供一些了解此類知識的直接閱讀材料嗎?
如果您使用的是Python 2.x ,請在代碼中添加以下幾行:
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
注意:如果您使用的是Python 3.x ,則reload不是內置的,它是imp.relaod(),因此需要添加導入才能使我的解決方案正常工作。 我沒有在3.x中進行開發,所以我的建議是:
from imp import reload
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
將其放在所有其他進口商品的前面。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.