2015-02-23 43 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