我有一個簡單的回顯功能的PHP文件:PHP日語字符串設置爲?
echo 'アクセスは撥ねりません。';
但是當我訪問該頁面,我得到這樣的:
????????????
有人能幫助我嗎? 我也有我的頁面編碼設置爲UTF-8,我知道它,因爲我用的所有瀏覽器都這麼說。 我也在回聲功能之前這樣做:
mb_internal_encoding('UTF-8');
這是幹什麼的? 它幫助我嗎? 我需要的是能夠回顯一個靜態的日文字符串。
謝謝!
我有一個簡單的回顯功能的PHP文件:PHP日語字符串設置爲?
echo 'アクセスは撥ねりません。';
但是當我訪問該頁面,我得到這樣的:
????????????
有人能幫助我嗎? 我也有我的頁面編碼設置爲UTF-8,我知道它,因爲我用的所有瀏覽器都這麼說。 我也在回聲功能之前這樣做:
mb_internal_encoding('UTF-8');
這是幹什麼的? 它幫助我嗎? 我需要的是能夠回顯一個靜態的日文字符串。
謝謝!
我明白了。 我只需要設置mbstring擴展設置來處理UTF-8中的內部字符串。 Thas擴展與我的PHP 5.3.0構建是標準的。
有幾個地方可能會出錯。
首先,如果你不設置PHP中的輸出編碼與頭()
header('Content-type: text/html; charset=utf-8');
或與meta標籤到您的html:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
您需要檢查php.ini設置default_charset。機會是默認爲iso-8859-1
其次,您可能還需要檢查您保存php腳本的內容編碼。如果您將它保存爲ASCII或其他拉丁字符集,它會將字符混淆。
我正在做所有這些事情,它仍然顯示問號。 – agentfll
也許您正在打印包含在UTF-16(擴展字符集)中的日文字符?
我只是做了一個快速測試和你的榜樣爲我工作,所以它是最有可能的其中之一:
我保存在UTF-8文件,粘貼代碼到它,我的服務器服務與內容類型的文件:text/html的; charset = utf-8,它顯示得很好。不需要使用mb_函數或其他任何東西。
你的文件也保存爲UTF8嗎?如果是的話,也許你需要其他編碼,比如UTF-16? – Seb