Я бы предположил, что вы очистили файл как полностью отдельный шаг от разбора XML.
UTF-8 - довольно простая кодировка для понимания; this web page показывает, как формируется UTF-8. Я предлагаю вам написать программу, которая читает ваш входной файл и выписывает новый файл. Он будет читать байты байтом, только выписывая символ, когда видит, что он был правильно сформирован. Когда он видит недопустимый байт, он выписывает строку «UTF8ERROR» или какой-либо другой легко обнаруживаемый токен, который не будет происходить естественным образом во входных данных. Затем он пропустит остальную часть персонажа.
После этого вы можете проверить, где произошли ошибки, и исправить данные ... затем проанализировать его как обычно.
Таким образом вы увидите, насколько широко распространены ошибки, посмотрите, есть ли у них какой-либо шаблон и, возможно, они смогут их исправить. Если вы собираетесь получать больше данных из того же источника, я настоятельно рекомендую вам рассказать им об этой проблеме ... это может указывать на более серьезную проблему на их стороне.
Итак, в основном, вы подтверждаете, что я надеялся не делать. Мы должны написать собственные дезинфицирующие средства UTF-8. – corydoras
Я боюсь, что в сети могут быть похожие вещи, но я не знать о любом. –
Поиск других людей с вашей точной проблемой предполагает, что у вас может быть неправильная кодировка. Если это так, это может быть быстрым решением. /sesame/users/ch09.html#d0e3707 – Gunslinger47