получать читаемый текст из юникода

print_r(json_decode('{"t":"\u05D0\u05E0\u05D2\u05DC\u05D9\u05EA"}'));

это работает и дает вывод на иврите, но когда я вместо имени жестко запрограммировал имя строки

(print_r(json_decode($str));

где

$str = "\u05ea\u05b5\u05bc\u05dc\u05be\u05d0\u05b8\u05d1";)

тогда это дает пустой вывод

0

Решение

Что ж, \u05ea\u05b5\u05bc\u05dc\u05be\u05d0\u05b8\u05d1 не является строкой JSON, тогда как {"t":"\u05D0\u05E0\u05D2\u05DC\u05D9\u05EA"} является. Так json_decode вернусь NULL в следствии.

Пожалуйста, прочитайте о JSON и особенно функции json_encode () а также json_decode ().

1

Другие решения

$str = '{"t":"\u05D0\u05E0\u05D2\u05DC\u05D9\u05EA"}';

ваша переменная $ str имеет неправильный синтаксис массива json .. поместите строку выше в $ str

1

Строки не одинаковы. В первом примере кода ваша строка представляет собой объект JSON со строкой, содержащей символы Юникода. Во втором примере это просто строка в кодировке Unicode, которая, я полагаю, не является допустимой JSON, поэтому json_decode не могу справиться с этим.

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector