VicTHOR
@VicTHOR
(╮°-°)╮┳━━┳ ( ╯°□°)╯ ┻━━┻

Как ЭТО закодировать в json?

Массив:
Array
(
    [options] => Array
        (
            [0] => <option value=@красный>@красный</option>
            [1] => <option value=@�������>@�������</option>
            [2] => <option value=��_��>��_��</option>
        )
)

Хочу:
json_encode($array);

Ошибка:
Malformed UTF-8 characters, possibly incorrectly encoded


Если сделать serialize($array), ошибок нет, но как эту строку в JS в объект тогда распарсить?
a:1:{s:7:"options";a:3:{i:0;s:54:"<option value=@красный>@красный</option>";i:1;s:40:"<option value=@�������>@�������</option>";i:2;s:34:"<option value=��_��>��_��</option>";}}
  • Вопрос задан
  • 553 просмотра
Пригласить эксперта
Ответы на вопрос 2
@FanatPHP
Эти просто строки должны быть просто написаны в простой кодировке utf-8.

Предваряя возможные возражения. Нет, не "я тут поковырял в носу, и полагаю, что эти просто строки уже в кодировке utf-8", а фактически быть в кодировке utf-8.

Предваряя возможные предложения. Перекодировать - это будет голопотяпство. Надо сразу получать в нужной кодировке, оттуда, откуда эти строки берутся. Поскольку автор вдруг решил играть в юного партизина, то актуальное решение будет искать самостоятельно.

После того, как из автора удалось выбить показания, появилась возможность восстановить картину происшествия.
ФО_РўРћ - это утф, перекодированный в 1251.
echo mb_convert_encoding('ФО_ТО', "UTF-8", "cp1251");

Соответственно, обратно
echo mb_convert_encoding('ФО_ТО', "cp1251", "utf-8");
Ответ написан
index0h
@index0h
PHP, Golang. https://youtube.com/index0h
Приведите к utf8 все строчные элементы, либо заюзайте опцию: JSON_UNESCAPED_UNICODE
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы