Как вернуть результат в UTF-8 в PHP
Ко мне в контроллер php приходит строка в таком формате
"["21) \u0424\u043e\u0441\u0444\u043e\u0440","Gt"]"
Если я делаю json_decode("["21) \u0424\u043e\u0441\u0444\u043e\u0440","Gt"]") у меня это превращается в массив и корректный перевод
array(0:["21) Фосфор"],1:["Gt"])
Я пытался сделать json_encode(json_decode("["21) \u0424\u043e\u0441\u0444\u043e\u0440","Gt"]")) но результата как такового нет.
А мне просто нужна строка для записи в Базу с нормальной кодировкой. "["21) Фосфор","Gt"]" Прошу любой помощи.
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
Попробуйте так:
json_decode($json, false, 512, JSON_UNESCAPED_UNICODE)
JSON_UNESCAPED_UNICODE означает "не кодировать многобайтовые символы Unicode (по умолчанию они кодируются как \uXXXX"