Python,支持unicode的最佳方法?

标签 python unicode py2exe

我有一个 Python 应用程序,可以从网站获取多语言信息,并将它们显示在一个小的 GUI 窗口中(基于 wxpython)。
我(目前)不在我的源文件中使用任何特定的 unicode 语句。

现在,当我从 Eclipse 中运行我的 python 应用程序时,法语字符(如 ë)显示得很好,当我从 py2exe 打包版本运行它时,字符变得不稳定。 我真的不明白为什么使用 py2exe 构建不会产生 unicode 或编码相关错误。

但是,要解决此问题,请遵循 this在文章中,我将我的字符串包装在 unicode(my_string, "utf-8") 调用中,就在将它输出到屏幕之前。这样就解决了。

问题:

  • 是在显示之前在 unicode() 调用中包装字符串的好方法吗?
  • 为什么它在 Eclipse 中没有 unicode 转换就可以工作,而在 Windows 打包的 .exe 版本中却不能?

我已经多次尝试绕过 unicode,但似乎我不兼容 unicode :-|

最佳答案

最好的方法是确保字符串是 unicode 尽快。如果你正在抓取网站的图书馆没有用 unicode 证明你,那么他们就没有做他们应该做的事(恕我直言)。然后,您必须使用与您正在抓取的网页所使用的编码相同的编码,自行将它们解码为 un​​icode。

你的方法基本上是相反的,解码越晚越好。到目前为止,它能正常工作基本上纯属运气,因为您还没有遇到任何非 utf8 字符串。任何 iso-8859-1 字符串都会破坏您的应用。

关于Python,支持unicode的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6175238/

相关文章:

python - `__import__(' pkg_resources').declare_namespace(__name__)` 有什么作用?

c++ - 将 UTF-16 转换为 UTF-8

python - 如何在没有错误的情况下构建 py2exe?

python - wxPython - py2exe - exe 文件旧窗口

python - 从系统帐户创建用户显示窗口

python - RuntimeError : Given groups=1, weight of size [64, 3, 7, 7], expected input[3, 1, 224, 224] 有 3 个 channel ,但得到了 1 个 channel

python - pandas 中的分组和转换

python - 将列和值与行匹配的函数 - DataFrame 的交集

python - 如何使 python StreamWriter 需要 unicode 输入?

python - 字符\u260e