Я вызываю 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'));