2012-02-13 3 views
1

Я попытался отправить японские письма через json, однако возвращенное значение json равно "jspString":"???????". Что я делаю не так? Благодаря!Отправка японских символов по JSON

JSONObject info = new JSONObject(); 
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); 

info.put("japString", "よやかなゆひま"); 
nameValuePairs.add(new BasicNameValuePair("info", info.toString())); 
postCard.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
postResponse = postCardClient.execute(postCard); 
postResponseEntity = postResponse.getEntity(); 
String printResult = EntityUtils.toString(postResponseEntity); 

ответ

1

Найдено ответ: просто добавьте ToString() в info.put("japString", "よやかなゆひま".toString());. Внутри он избегает символов Юникода.

0

просто использовать postCard.setEntity (новый UrlEncodedFormEntity (nameValuePairs, "UTF-8")) вместо надеюсь, что это поможет

0

Я также столкнулся с этой проблемой.

$ json -n -f messages/jp.json 
json: error: "messages/jp.json" is not JSON: Bad string at line 194, column 38: 
     "Statement from HQ:": "本部からの声明:", 
    .....................................^ 

Первоначально я думал, что это было плохо Юникодом, так что я translated the characters to escaped unicode

Однако, я побежал проверку после замены значений, и нашел плохой «невидимый» в конце JSON Key (после запятая).

Я смог исправить это, удалив недопустимые символы (дополнительное «пространство») в конце строки.

Я нашел связанный пост, но принятый ответ гласит, что символы кодирования должны быть в начале файла, так что это была не совсем проблема, с которой я столкнулся, я не верю. Clean source code files of invisible characters

Смежные вопросы