【发布时间】:2015-11-18 11:50:07
【问题描述】:
我有一个包含一些德语变音符号的 XML 文件。我的目标是读取文件并将结果存储到数据库中。为了测试,我得到了两个不同的文件。第一个是根据chardet UTF-8-SIG,另一个是UTF-8。
用lxml读取文件后由unicode(field[0])对数据进行预处理
解析第一个文件可以正常工作,但处理其他文件会导致编码错误:UnicodeEncodeError: 'ascii' codec can't encode characters in position: ordinal not in range(128)
例如这样的字符串可以是 u'Zubeh\xf6r' (print(field[0])。
使用print (field[0].encode("utf-8")) 得到正确的字符串,但类型是str 而不是unicode
【问题讨论】:
-
谢谢。我已经更新了问题