【发布时间】:2012-12-17 19:48:16
【问题描述】:
我正在读取从另一个软件程序导入到 excel xml 文件中的字符串列表。我不确定 excel 文件的编码是什么,但我很确定它不是 windows-1252,因为当我尝试使用该编码时,我会遇到很多错误。
现在给我带来麻烦的具体词是:“Zmysłowska, Magdalena”(注意“l”不是标准的“l”,而是一个斜线)。
我已经尝试了一些东西,在这里我会提到其中的三个:
(1)
page = unicode(page, "utf-8")
page = unicodedata.normalize("NFKD", page)
page = page.encode("utf-8", "ignore")
Output: Zmys\xc5\x82owska, Magdalena
Output after print statement: Zmysłowska, Magdalena
(2)
page = unicode(page, "utf-8")
page = unicodedata.normalize("NFKD", page)
Output: Zmys\u0142owska, Magdalena
Output after print statment: Zmysłowska, Magdalena
Note: this is great, but I need to encode it back to utf-8 before putting the string into my db. When I do that, by running page.encode("utf-8", "ignore"), I end up with Zmysłowska, Magdalena again.
(3) 什么都不做(不规范化、不解码、不编码)。看起来字符串进来时已经是utf-8了。但是,当我什么都不做时,字符串再次以以下输出结束:
Output: Zmys\xc5\x82owska, Magdalena
Output after print statement: Zmysłowska, Magdalena
我有没有办法将此字符串转换为 utf-8?
【问题讨论】:
标签: python excel encoding utf-8