我有一個頁面http://199.193.248.80/test/test.php
,它包含«字符。字符編碼適用於一個頁面,但不適用於其他
但是,當我閱讀JS此頁面上http://199.193.248.80/test/test.html
,字符變成
兩個網頁使用字符集的Windows 1252,所以我不知道爲什麼它工作在一個頁面上而不是其他。需要做些什麼來解決這個問題?
我有一個頁面http://199.193.248.80/test/test.php
,它包含«字符。字符編碼適用於一個頁面,但不適用於其他
但是,當我閱讀JS此頁面上http://199.193.248.80/test/test.html
,字符變成
兩個網頁使用字符集的Windows 1252,所以我不知道爲什麼它工作在一個頁面上而不是其他。需要做些什麼來解決這個問題?
這可能是因爲PHP設置一個不同的字符集比Apache做(服務於.html
時)標題(服務於.php
時)進行編碼。瀏覽器使用響應頭中提到的字符集;它實際上覆蓋了<meta>
標籤。
默認情況下PHP選擇iso-8859-1
我相信,但你可以通過使用覆蓋字符集PHP:
header('Content-Type: text/html; charset=windows-1252');
或改變php.ini
的全球變化。
參見:
有趣..你有什麼建議在PHP文件中設置? – dukevin
'header('Content-Type:text/html; charset = UTF-8');'其中UTF-8是你想要的字符集 –
@KevinDuke你的.php不是問題,它是Apache你應該看的如果我正確理解你的問題;或者說,兩個字符集應該是相同的 –
我建議使用HTML實體形式:«
這樣也沒關係,你用你的文件是什麼字符集,因爲您的瀏覽器只是解析它。
在PHP中您可以使用$str = htmlentities($str);
爲字符串
如果你打開一個文本編輯器這兩個文件,就這兩個文件中定義相同的字符編碼? – jakee
他們都說ANSI – dukevin
在最新的chrome中可以正常工作。 – ColWhi