Python Unicode编码

时间:2014-12-29 07:25:38

标签: python unicode

是否可以在不更改linux上的系统区域设置的情况下打印日文文本? 日语打印的语言环境为ja_JP.UTF-8。但如果我将它设置为decode('utf-8'),它将显示出所有奇怪的效果。

我正在做:jp_string.decode("GB18030").encode("utf-8")

这是一张图片: enter image description here

3 个答案:

答案 0 :(得分:1)

有效。答案由Jason提供,通过将语言环境设置为en_US.UTF-8,它显示完美。非常感谢你们。 :d

答案 1 :(得分:0)

您似乎缺少一些打印日文文本的必要字体,特别是UTF-8似乎工作正常,只是缺少一些字形。

如果可以,请安装,但不要选择日本区域设置,这样可以在不破坏当前区域设置的情况下获得所需的字体。

在Windows中,如果您访问某些日语网页,则会提示您安装缺少的字体包。

答案 2 :(得分:0)

如果您使用支持所有Unicode字符的某些utf-8语言环境,则可以在不更改语言环境的情况下打印日语文本。如果您的语言环境不使用utf-8(请参阅locale命令的输出),那么 您可以通过设置PYTHONIOENCODING envvar:

来更改用于I / O的字符编码
$ PYTHONIOENCODING=utf-8 python your-script.py

确保文本在Python 2上存储为Unicode(unicode类型,在Python 3上存储为str(默认)类型。直接打印Unicode字符串,不要手动将它们编码为字节。