Я вызываю json_encode()
для данных, которые поступают из базы данных MySQL с помощью сортировки utf8_general_ci
. Проблема в том, что некоторые строки имеют странные данные, которые я не могу очистить. Например, символ �
, поэтому, как только он достигнет json_encode()
, он терпит неудачу с json_encode(): Invalid UTF-8 sequence in argument
.
Я пробовал utf8_encode()
и utf8_decode()
даже с mb_check_encoding()
, но он продолжает проникать и вызывать хаос.
Запуск PHP 5.3.10 на Mac. Итак, вопрос в том, как я могу очистить недействительные символы utf8, сохраняя остальную информацию, чтобы json_encoding()
работал?
Update. Вот способ воспроизвести его:
echo json_encode(pack("H*" ,'c32e'));