是否可以在不更改linux上的系统区域设置的情况下打印日文文本?
日语打印的语言环境为ja_JP.UTF-8
。但如果我将它设置为decode('utf-8')
,它将显示出所有奇怪的效果。
我正在做:jp_string.decode("GB18030").encode("utf-8")
这是一张图片:
答案 0 :(得分:1)
有效。答案由Jason提供,通过将语言环境设置为en_US.UTF-8
,它显示完美。非常感谢你们。 :d
答案 1 :(得分:0)
您似乎缺少一些打印日文文本的必要字体,特别是UTF-8似乎工作正常,只是缺少一些字形。
如果可以,请安装,但不要选择日本区域设置,这样可以在不破坏当前区域设置的情况下获得所需的字体。
在Windows中,如果您访问某些日语网页,则会提示您安装缺少的字体包。
答案 2 :(得分:0)
如果您使用支持所有Unicode字符的某些utf-8语言环境,则可以在不更改语言环境的情况下打印日语文本。如果您的语言环境不使用utf-8
(请参阅locale
命令的输出),那么
您可以通过设置PYTHONIOENCODING
envvar:
$ PYTHONIOENCODING=utf-8 python your-script.py
确保文本在Python 2上存储为Unicode(unicode
类型,在Python 3上存储为str
(默认)类型。直接打印Unicode字符串,不要手动将它们编码为字节。