Estoy desarrollando una aplicación en android que obtiene datos de un JSON que luce asi
[{
"title": "Titulo",
"image": "Imagen url",
"op": "op",
"autor": "Autor",
"fecha": "Noviembre 15, 2016",
"nota": "ejemplo de nota"
}]
El problema es que en mi aplicación los acentos y las "ñ" aparecen con un carácter raro con un signo de interrogación, y estoy casi seguro que el problema esta en el json, como lo soluciono?
Ты должен помещать utf-8
в Content-Type
, назвав метод.
Например:
HttpURLConnection httpurlconnection = (HttpURLConnection) urlConnection;
httpurlconnection.setRequestMethod("POST");
httpurlconnection.setRequestProperty("Content-Type", "application/json; charset=utf-8");
httpurlconnection.setDoOutput(true);
httpurlconnection.connect();
PodrГ-схвати включать tambiГ©n utf8_encode
EJEMPLO1:
$text ='OpciГіn';
или tambiГ©n podrГ-схвати использовать iconv
EJEMPLO2:
$text ='OpciГіn';
Ты должен проверять, что твое основание данных конфигурировалось в UTF-8
и также файл, где ты делаешь inserts в твой DB, также конфигурировался таким образом.
, Когда ты пошлешь дату твоего html, или php в твою базу данных используй utf8_encode
, и когда ты получишь utf8_decode
header('Content-Type: application/json; Charset=UTF-8');
– sioesi
16.11.2016, 03:42
Ты можешь использовать эту opciГіn:
json_encode(
$data,
JSON_HEX_AMP |
JSON_HEX_QUOT |
JSON_HEX_APOS |
JSON_UNESCAPED_UNICODE |
JSON_UNESCAPED_SLASHES
);
Это поможет тебе, ты можешь читать она informaciГіn об этом здесь
TambiГ©n я рекомендую тебе использовать эту цель приклей этикетку:
<meta charset="utf-8" />
Это важно определил, как ты получаешь стоимость твоего файла.JSON, ты должен определять, что у типа encoding есть файл.
Например, если ты загружаешь файл, созданный с enconding "UTF-8"
ты можешь определять:
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"));
Выбор возможно самая простая состоит, в том, чтобы получив твою цепь, которая содержит символы, которые принадлежат другому кодированию, ты кодировал их посредством URLEncoder.encode ():
try {
String cadenaCodificada = URLEncoder.encode(myCadenaCaracteres, "UTF8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}