Есть ли способ сохранить json_encode()
от возврата null
для строки, содержащей недопустимый символ (не UTF-8)?
Это может быть болью в заднице для отладки в сложной системе. Было бы гораздо более уместно увидеть недопустимый символ или, по крайней мере, его пропустить. Как бы то ни было, json_encode()
будет тихо отбрасывать всю строку.
Пример (в UTF-8):
$string =
array(utf8_decode("Düsseldorf"), // Deliberately produce broken string
"Washington",
"Nairobi");
print_r(json_encode($string));
Результаты в
[null,"Washington","Nairobi"]
Желаемый результат:
["D�sseldorf","Washington","Nairobi"]
Примечание. Я не, желая, чтобы сломанные строки работали в json_encode(). Я ищу способы облегчить диагностику ошибок кодирования. Строка null
не подходит для этого.