2012-01-13 107 views
1

我在服務器上創建一個JSONP功能和我在客戶端側的javascript返回這樣JavaScript的中國/日文字符解碼

applyLocalization({"Name":"%E5%90%8D%E5%89%8D","Age":"%E5%B9%B4%E9%BD%A2"}); 

一個UTF-8編碼的JSON對象,我想亂碼一部分轉換他們喜歡

{"Name":"名前", "Age":"年齢"} 

我試過$ .parseJSON(),但原來的狀態時,它不工作

+0

你如何編碼服務器上的文本?有一個編碼UTF-8的JSON標準,看起來不同... – deceze 2012-01-13 08:03:19

+0

我所做的是我通過在java中使用URLEncoder.encode(str,「UTF-8」)函數對密鑰和值進行編碼。還有別的嗎? – 2012-01-13 08:39:06

+0

使用JSON編碼函數怎麼樣?我不是一個Java人,但一個函數,可以採取本地數組,並吐出幾乎所有語言的JSON等價物存在... – deceze 2012-01-13 08:40:49

回答

5

您可以使用decodeURIComponent解碼urlencoded的串像你

decodeURIComponent('%E5%90%8D%E5%89%8D'); 
//result: '名前' 
+0

謝謝jani!幫助表示讚賞 – 2012-01-13 08:04:35

3

您可以使用decodeURIComponent函數。但是你不應該使用URL編碼你的javascript字符串。你應該將它們作爲UTF-8字符串原樣發送。 Javascript是能夠理解他們。

+0

哇感謝darin很大的幫助! – 2012-01-13 08:04:22

+0

我試圖發送它們,但日本的一部分成爲一系列的問號,所以我決定編碼它們然後在客戶端解碼...有什麼不對嗎? – 2012-01-13 08:06:19

+0

@ChinchanZu,是的,你的頁面或服務器肯定有問題。也許你沒有設置正確的響應內容類型,或者你的頁面編碼不正確。 – 2012-01-13 08:07:26