Есть ли способ запретить 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
в этом случае бесполезна.