У меня есть этот черный ящик, который выплевывает JSON, и этот файл поставляется с тем, что Я предполагаю , экранированные символы Юникода.Вот фрагмент:
{
"AR_DESCRI":"LIMA CENTIMETRADA\/FORMAS U\u00c3\u2018AS 100\/180 MANI."
}
Теперь вот как должен выглядеть итоговый JSON для любого разумного человека:
{
"AR_DESCRI":"LIMA CENTIMETRADA/FORMAS UÑAS 100/180 MANI."
}
Самое важное, что \u00c3\u2018
должноравен символу Ñ
.
Однако, как вы можете проверить из любого декодера Unicode Escape Sequence, это не так, выходной сигнал для \u00c3\u2018
на самом деле Ñ
, что в основном случайный шум.
Я пробовал некоторые онлайн-декодеры , и я также использовал PHP-функции json_decode()
, над которыми я сейчас работаю.Оба дают мне одинаковые результаты.Вот фрагмент кода, если вам интересно:
<?php
$json = '{"AR_DESCRI":"LIMA CENTIMETRADA\/FORMAS U\u00c3\u2018AS 100\/180 MANI."}';
print_r(json_decode($json));
//Output: stdClass Object ( [AR_DESCRI] => LIMA CENTIMETRADA/FORMAS UÑAS 100/180 MANI. )
Итак, мой вопрос: почему, черт возьми, это происходит, это проблема кодирования на стороне черного ящика?Я использую неправильную функцию?
Заранее спасибо.