我正在關注Unicode - How to get the characters right?的帖子。org.json中的JSONObject lib:utf-8編碼問題
我唯一的問題是與JSONObject編碼(我使用org.json
庫)。
當我把一個像àòùè쀀
這樣的字符串放在JSONObject中時,就會出現這個問題。
System.out.println(entry.getValue());
JSONObject temp = new JSONObject();
temp.put("values", entry.getValue();
System.out.println(temp.toString());
我獲得àòùè쀀
和{"values":"àòùèì\u20ac\u20ac"}
而不是{"values":"àòùè쀀"}
。
EDIT
通過從散列表到一個JSONObject傳遞,則使用擴展UTF-8編碼。例如,哈希表
{€èòàùì€ù=èòàù€ì, €òàèùì€=èòàù€ìç§$}
成爲JSONObject的
{"\u20acòàèùì\u20ac":"èòàù\u20acìç§$","\u20acèòàùì\u20acù":"èòàù\u20acì"}
謝謝。問題是,在一個使用pageencoding utf-8和content-type utf-8的jsp頁面中,如果我打印「àòùèì\ u20ac \ u20ac',我可以看到'àòùèì\ u20ac \ u20ac'而不是'àòùè쀀'。 – Sefran2 2013-04-09 10:10:48
@Cricket是的,但是當你解碼JSON的時候,你會在解碼的對象中得到'€€'。除了數據傳輸/存儲之外,編碼的JSON不會用於數據傳輸/存儲,因此在使用JSON之前,您始終會對其進行解碼,因爲將JSON作爲字符串進行操作是沒有意義的。 – Esailija 2013-04-09 10:11:12
你的解碼是什麼意思?我用'rs.getString(「json」)'從db獲取字符串,然後使用Java String解析它。我該怎麼辦? – Sefran2 2013-04-09 10:18:22