Python:不正确的字典编码

Python:不正确的字典编码,python,unicode,encoding,utf-8,Python,Unicode,Encoding,Utf 8,我正在制作一本字典,里面有包含诸如ě、ě、á等字符的单词。在添加到字典之前,当我尝试将这些单词打印到控制台时,我可以看到正确的编码单词。问题是,当我将它添加到字典中并按其值打印单词时,我看到了它,但编码错误。这是我的控制台的打印屏幕,第一行是打印名称,第二行是打印命令 这些单词/句子应该是相同的 信息: PyCharm IDE,Python 2.7.8,默认编码:utf-8 谢谢你的建议 编辑:附加代码“url”是网页的url: def getSoup(url): req = u

我正在制作一本字典,里面有包含诸如ě、ě、á等字符的单词。在添加到字典之前,当我尝试将这些单词打印到控制台时,我可以看到正确的编码单词。问题是,当我将它添加到字典中并按其值打印单词时,我看到了它,但编码错误。这是我的控制台的打印屏幕,第一行是打印名称,第二行是打印命令

这些单词/句子应该是相同的

信息:

PyCharm IDE,Python 2.7.8,默认编码:utf-8

谢谢你的建议

编辑:附加代码“url”是网页的url:

    def getSoup(url):
    req = urllib2.Request(url)

    response = urllib2.urlopen(req)
    page = response.read()
    soup = BeautifulSoup(page, 'xml')
    return soup

a=0
klubyDict = dict()
index = getSoup("url")
all = index.findAll('A')
for i in all:

    okres = getSoup("http://url%s"%(i['HREF']))
    kluby = okres.findAll('A')
    # print(kluby[0]['HREF'])
    print "Okrsok...%s"%(i.text)
    for klub in kluby:
        klubHtml = getSoup("http://url%s"%(klub['HREF']))
        name = klub.text
        print name
        emailTag = klubHtml.find('td',text=re.compile("Email:"))
        email = emailTag.text[7:]
        if len(name)>0:
            klubyDict[name]=email if len(email)>0 else "email nezadany"
            print klubyDict

print "Saving to file..."
with open('futbaloveKluby','wb') as f:
    pickle.dump(klubyDict,f)
EDIT2:将数据添加到excel文件中

# -*- coding: utf-8 -*-

import cPickle as pickle

dict = dict()
workbook = xlsxwriter.Workbook('Futbal.xlsx')
worksheet = workbook.add_worksheet()

with open('futbaloveKluby','rb') as f:
    dict = pickle.load(f)

colKlub = 0
colEmail = 1
row = 0

for klub in dict.keys():
    worksheet.write(row,colKlub, klub)
    worksheet.write(row,colEmail, dict[klub])
    row += 1

workbook.close()
        print table.text
最重要的是,在编写代码之后,我使用xlscWriter将该字典的值放入Excel表中。打开Excel文件时,我会看到错误的字符。

导入编码解码器并将此代码用作您的姓名:

name = klub.text
print name.decode('utf-8')

您是否在主代码顶部使用utf8编码?或者如何将unicode传递到字典?@Kasra是的,我已经在文件utf-8What操作系统的顶部声明了?其中一个是python dict的repr,另一个是打印输出。请发布一些代码来帮助理解你在做什么,而不是截图的一部分-@rob Windows 7 Home Premium