Windows 7 CMD中的UTF-8

39
我尝试在win7 cmd中显示UTF-8。目前,我正在使用标准字体,因为从mysql.exe可以看出,它可以正常处理我的工作字符(目前是德语umlauts“ßäöüÄÖÜ”)。而且,使用另一种字体,同样的字符也会出现。
但是我的PHP脚本输出却显示垃圾字符,例如'ß'代替'ß'。当我将输出导入文件并用Notepad++打开时,它会显示编码为UTF-8。在php.ini中,我设置了UTF-8作为编码,并在连接到MySQL数据库以及数据库本身中也设置了UTF-8。
在CMD中,我尝试将代码页设置为65001,但没有任何更改。
编辑:我的PHP脚本也保存为UTF-8
似乎使用latin1也可以显示我想要的字符,而且实际上也可以正常工作。但是必须有一种方法来使用UTF-8吧?我无法将所有内容转换为latin1。

如果你看到了ß这样的字符,那么utf-8编码的文本没有被正确地解释。如果 chcp 65001 不起作用,唯一合理的解释是你使用的程序将其改回去了。 - Hans Passant
PHP在输出字符之前是否可能对其进行转换? - Mark Ransom
1个回答

35

最新消息:Windows版本<=1709无法使用chcp,这就是我失败的原因。我认为仍然可以以某种方式使用。点赞。 - Rick
我知道这已经是4年后的事了,但还有步骤缺失吗?1.chcp 65001,2.将字体更改为Lucida console,3.配置应用程序(例如Java:设置-Dfile.encoding=UTF-8),4.仍然出现问号?在PowerShell、cmd中进行了测试。是否必须安装字体包才能使Windows正确显示(例如简体中文字符)? - tresf

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接