2012-07-22 10 views
0

我有一個PHP腳本,Ajax函數使用它來傳遞MySQL數據庫中的一些輸入變量。但像「Camping Dragoske,DN73C,Burluşi」這樣的字符串存儲在MySQL數據庫中,例如「Camping Dragoske,DN73C,BurluÈ™i,Româ¬」,並被ajax.php文件捕獲,如「Camping Dragoske,DN73C,Burlu \ u0219i,Rom \ u2e2nia「。如何在PHP中替換 u0219等口音?

我的HTML字符集編碼是UTF-8,MySQL表設置爲utf8_general_ci,字段設置爲utf8_unicode_ci

+0

我會嘗試做一些事情,如:http://stackoverflow.com/questions/3959626/replace-unicode-character?rq = 1 – 2012-07-22 06:57:38

+0

您是否使用jQuery進行Ajax調用?否則,您可能需要將Javascript從內部使用的字符集轉換爲UTF-8。 – 2012-07-22 07:15:07

+0

不管你用什麼來看它是如何「存儲在數據庫中」的,都不能正確顯示UTF-8。無論如何,實際字節對於解決這個問題很重要;但顯然,ş被存儲爲字節0xC8 0x99,就像它應該是。 – tripleee 2012-07-22 07:24:11

回答

0

這可能是由於MySQL連接的編碼。對於無bug的utf8環境,您需要將頁面,數據庫和mysql連接設置爲UTF-8。

試試這個功能:

mysql_set_charset('utf8'); 

或更好地利用的mysqli:

$mysqli->set_charset("utf8"); 

http://php.net/manual/fr/mysqli.set-charset.php