2009-09-12 24 views
0

我在這裏遇到的問題有趣,我注意到,一些突出的字符,如果我試圖通過他們的價值罪Ajax調用他們最終都好笑例如像:突出人物看起來在Ajax調用傳遞HTML

阿達納Şakirpaşa

變成

阿達納%u015Eakirpa%u015Fa

什麼錯在這裏:(

EDIT = =================

問題是,一旦我的PHP腳本在後端收到字符,他們都搞砸了!我應該怎麼做:(

回答

2

我遇到了同樣的問題,並使用utf8_encode()對php腳本中的數據進行了調用,使用ajax來解決它。我認爲你也可以使用htmlentities()。

+1

utf8-decode()和htmlentities()都不會翻譯%u ...序列。 – VolkerK

+0

當我閱讀問題時,原始字符串不包含%u ...序列,但帶有重音符號的字符。 – jeroen

+0

問題是,他們到達php腳本的人物,從突出的字符變成這些有趣的%u序列... – Ali

1

的Java/EcmaScript的解析\ uxxxxxx序列,但不ü... 源文本
看到http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf

您可以將運輸形式轉換與javascript函數unescape()

<html> 
    <head><title>...</title> 
    </script> 
    </head> 
    <body> 
    <p id="output"></p> 
    <script type="text/javascript"> 
     var x = 'Adana %u015Eakirpa%u015Fa'; 
     document.getElementById("output").innerHTML = unescape(x); 
    </script> 
    </body> 
</html> 

顯示

Adana Şakirpaşa 

但是,你可能會考慮將它作爲服務器端的「普通」utf-8字符進行存儲和發送。

+0

呃我該怎麼做,我的意思是發送它爲普通utf 8 – Ali

+0

如何發送字符串客戶端 - >服務器(代碼)? – VolkerK