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.

Другие вопросы по тегам