LINUX.ORG.RU

Java парсер в javascript, кодировка

 , ,


0

1

Добрый день, пытаюсь спарсить страницу и передать на webview, но в с кодировкой в итоге проблема

Хотя страница которая парсится в utf-8 И страница в webview тоже в utf-8.

В результате получаю

["\u041a\u0440\u0430\u0441\u043d\u043e\u0434\u0430\u0440"]
Хотя должен получить [«Краснодар»].

HttpURLConnection urlConnection = null;
        BufferedReader reader = null;
        String resultJson = "";
 
        @Override
        protected String doInBackground(Void... params) {
            // получаем данные с внешнего ресурса
            try {
                URL url = new URL("http://site.ru/city.php");
 
                urlConnection = (HttpURLConnection) url.openConnection();
                urlConnection.setRequestMethod("GET");
                urlConnection.connect();
 
                InputStream inputStream = urlConnection.getInputStream();
                StringBuffer buffer = new StringBuffer();
 
                reader = new BufferedReader(new InputStreamReader(inputStream));
 
                String line;
                while ((line = reader.readLine()) != null) {
                    buffer.append(line);
                }. 
                resultJson = buffer.toString();
 
            } catch (Exception e) {
                e.printStackTrace();
            }
            return resultJson;
        }

Ну видимо JSON-сериализатор на твоём city.php так отдаёт не-ASCII символы. 041a это код буквы «К». Тебе нужен любой парсер JSON, например Jackson или Gson, он тебе всё декодирует как надо. Ну или сам ручками, если времени много.

Legioner ★★★★★ ()
Ответ на: комментарий от leave

Не знаю, не проверял. Думаю, стандарту JSON он соответствует, благо стандарт крошечный.

Legioner ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.