JSON Unicode httpequest
Я хочу сделать Unicode httprequest, хотя я изменил свою строку на Unicode, но есть некоторые "?????" вместо имени моего приложения в моей базе данных SQL. (имя моего приложения на фарси)
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("dev_name", G.give_device_model()));
params.add(new BasicNameValuePair("dev_ID", G.give_device_ID()));
params.add(new BasicNameValuePair("follow_code", inputActivation.getText().toString()));
params.add(new BasicNameValuePair("app_name",convert_2_unicode(msg) ));
JSONObject json = jsonParser.makeHttpRequest(ur_register_app, "POST", params);
и это моя функция для преобразования в Unicode:
public String convert_2_unicode(String str){
String string = "";
try {
// Convert from Unicode to UTF-8
byte[] utf8 = str.getBytes("UTF-8");
// Convert from UTF-8 to Unicode
string = new String(utf8, "UTF-8");
} catch (UnsupportedEncodingException e) {
}
return string;
}
Как можно отправить правильный запрос Unicode?
2 ответа
Решение
В конечном итоге это решено, в парсере JSON я использовал:
httpPost.setEntity(new UrlEncodedFormEntity(paramsHTTP.UTF_8));
вместо:
httpPost.setEntity(new UrlEncodedFormEntity(params ));
Возможно, в вашей базе данных или таблице установлен неправильный порядок сортировки.
https://dev.mysql.com/doc/refman/5.5/en/charset-charsets.html
Вы можете проверить это с помощью phpMyAdmin.