2024-04-26 22:40:48 发布
网友
我对一组网站进行了爬网,并提取了不同的字符串,其中包含unicode编码的字符,比如“在D\xfcsseldorf中吃的最好的地方”。我把它们存储在PostgreSQL数据库中。当我从数据库中检索前面提到的字符串并执行以下操作时:
name = string_retrieved_from_database print name
输出为unicode u“D\xfcsseldorf中的最佳吃的地方”。我想展示这条线的本来面目:“杜塞尔多夫最好的吃的地方”。我怎么能做到呢。在
你确定你在打印变量时得到输出,而不是仅仅以交互方式显示?使用print时,不应获得u'...'显示:
print
u'...'
>>> x = b"Best places to eat in D\xfcsseldorf" >>> x.decode('latin-1') u'Best places to eat in D\xfcsseldorf' >>> print x.decode('latin-1') Best places to eat in Düsseldorf
如果你在实际的字符串中得到反斜杠等等,那么可能在编码阶段出了问题(例如,文本中写入了字面反斜杠)。在这种情况下,您可能需要查看“unicode escape”编解码器:
你需要尽快处理编码。最好的方法是读取HTML页面,将得到的字节字符串解码为Unicode,然后将字符串作为Unicode存储在数据库中,或者至少以统一的编码方式(如UTF8)存储。在
如果您需要有关详细信息的帮助,Pragmatic Unicode, or, How Do I Stop The Pain将提供所有这些信息。在
你确定你在打印变量时得到输出,而不是仅仅以交互方式显示?使用
print
时,不应获得u'...'
显示:如果你在实际的字符串中得到反斜杠等等,那么可能在编码阶段出了问题(例如,文本中写入了字面反斜杠)。在这种情况下,您可能需要查看“unicode escape”编解码器:
^{pr2}$你需要尽快处理编码。最好的方法是读取HTML页面,将得到的字节字符串解码为Unicode,然后将字符串作为Unicode存储在数据库中,或者至少以统一的编码方式(如UTF8)存储。在
如果您需要有关详细信息的帮助,Pragmatic Unicode, or, How Do I Stop The Pain将提供所有这些信息。在
相关问题 更多 >
编程相关推荐