在python控制台中显示汉字

时间:2018-12-05 11:05:08

标签: python docker encoding chinese-locale

我知道有人问过相关问题,但我的案子有点具体,因为我在Docker容器中运行我的代码,但我无法使其他解决方案正常工作。

我正在使用python 2.7通过以下翻译模块将英语文本翻译为中文(和其他非拉丁语言):

from translate import Translator
text = 'Hello'
translator= Translator(to_lang='zh')
translated_text=translator.translate(text)
print(translated_text.encode('utf-8'))

最后一条命令无法在控制台中显示中文文本,仅显示问号。从文档中,translate()应该输出一个unicode字符串。

我正在Ubuntu 16.04 Docker容器中运行此程序,并以Windows作为主机。所以也许问题出在Ubuntu或Windows没有正确的配置来显示这些字符,但我不知道如何检查。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

我能够使用以下命令在Windows控制台上显示汉字

from translate import Translator
text = 'Hello'
translator= Translator(to_lang='zh')
translated_text=translator.translate(text)
print(translated_text) # read notes
# 您好

注意:
在运行脚本之前,请确保将Windows控制台的正确Default code page设置为“936 (ANSI/OEM – Simplified Chinese GBK)”。 您可以通过在控制台上输入chcp 936来做到这一点,即:

chcp 936
python myscript.py
您好

来源:https://www.walkernews.net/2013/05/19/how-to-get-windows-command-prompt-displays-chinese-characters/