python字符串unicode问题

时间:2013-09-13 22:25:38

标签: python string unicode

这是我的代码(我正在使用python 2.7)

    result = " '{0}' is unicode or something: ".format(mongdb['field'])
UnicodeEncodeError: 'ascii' codec can't encode character u'\xb0' in position 27: ordinal not in range(128)

看起来我从mongodb读取的字符串包含unicode。它会抛出这个错误。如何修复它以将此unicde与自定义字符串'连接起来是unicode或其他东西:'?

提前致谢

更新

result = u" '{0}' is unicode or something: ".format(mongdb['field']) 

适合我

2 个答案:

答案 0 :(得分:9)

使用unicode格式字符串(推荐):

result = u" '{0}' is unicode or something: ".format(mongdb['field'])

或编码字段:

result = " '{0}' is unicode or something: ".format(mongdb['field'].encode('utf-8'))

答案 1 :(得分:1)

你必须知道MongoDB中出现的文本的编码是什么。\xB0建议使用Windows-1252而不是UTF-8,所以试试这个:

 result = ("'{0}' is unicode or something"
           .format(mongdb['field'].decode('windows-1252'))