Как вернуть результат в 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"

→ Ссылка