Я хочу преобразовать объект JSON в строку. когда я использую json_encode
я получаю строку, но все с шестнадцатеричными буквами. Я хочу преобразовать его в UTF-8. Другими словами, я хочу видеть персонажей. Как мне это сделать?
Я использовал json_encode
для хранения данных, таких как арабские символы в полях MySQL.
Он сохранил бы арабские символы как HEX в базе данных следующим образом:
u0644 u063a …
Это неверно. Вы должны убедиться, что вы завершаете свой json_encode
с помощью mysql_escape_string()
.
Это позволит убедиться, что данные помещены в MySQL как:
\ U0644 \ u063a …
Затем, когда вы используете json_decode
, он преобразует строки HEX в UTF-8 и выводится правильно.
Вы можете попробовать передать опцию json_encode()
:
json_encode ( $value, JSON_UNESCAPED_UNICODE );
Параметр JSON_UNESCAPED_UNICODE
доступен только в PHP версии 5.4.0 и новее.
Благодарю.
Вы не можете, на PHP . Кроме того, строки будут по-прежнему совпадать, как только вы их декодируете.
вы смотрите именно на funcition json_decode
он может конвертировать строки json в utf8
вот пример арабского слова
$re = json_encode('لغة عربية'); echo $re ; $dd = json_decode($re); echo $dd ; die;
он выводит: "\u0644\u063a\u0629 \u0639\u0631\u0628\u064a\u0629"
لغة عربية
больше примеров здесь http://php.net/manual/en/function.json-decode.php