我知道有人问过相关问题,但我的案子有点具体,因为我在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没有正确的配置来显示这些字符,但我不知道如何检查。任何帮助将不胜感激。
答案 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/