2015-02-23 42 views
0

我最终有一个MySQL数据库连接到,但为了清楚起见,我只是使用Windows命令提示符重现了这个问题。只要运行这个命令:PHP:Windows命令行中的重音字符

php -r "echo 'á' . PHP_EOL;" 

以及输出最终被“ß”,而不是“á”为我所期望的。我确定这是一种编码问题,但PHP不是我的“本地”语言,我对这里发生的事情感到困惑。

感谢您的任何澄清,你可以给。

PHP版本:5.5.11

+0

什么编码的PHP文件进行了讨论?这很可能是多字节/部分字符,需要进行UTF8编码。这是一个可用的[示例](https://eval.in/292096) – Darren 2015-02-23 05:22:54

+3

PHP文件的编码方式与Windows命令提示符不同。没有重复,但相关:[什么编码/代码页是cmd.exe使用](http://stackoverflow.com/questions/1259084/what-encoding-code-page-is-cmd-exe-using) – GolezTrol 2015-02-23 05:23:30

+0

没有问题这里.'php -r“echo'á'。PHP_EOL;”'我拿到了'' – 2015-02-23 05:23:45

回答

1

在Windows命令提示符下,命令 “CHCP” 控制 “代码页”。 chcp 65001应该提供utf8,但它似乎也需要安装一个特殊的字符集。要在控制台窗口中设置字体:右键单击窗口标题→属性→字体→选择Lucida控制台。 (主要是涉及到MySQL)

更多字符集问题在http://mysql.rjweb.org/doc.php/charcoll