Привет всем: я столкнулся с непростой проблемой: мне нужно прочитать некоторые файлы и преобразовать их содержимое в некоторые файлы XML.Я полагаю, что для каждой строки в файле большинство из них являются действительным кодом ASCII, так что я мог просто прочитать строку в php и сохранить строку в файл XML с кодировкой XML по умолчанию «UTF-8».Тем не менее, я заметил, что в исходных файлах могут быть некоторые GBK, GB2312 (китайский символ), SJIS (японские символы) и т. Д., У php нет проблем с сохранением строки в XML напрямую.Тем не менее, анализатор XML обнаружит, что есть недопустимые коды UTF-8 и произошел сбой.
Теперь я думаю, что лучшей библиотечной функцией php для моих целей, вероятно, является:
$decode_str = mb_convert_encoding($str, 'UTF-8', 'auto');
Я пытаюсь запустить эту функцию диалога для каждой строки перед вставкой в XML.Однако, как я тестировал с некоторыми кодировками UTF-16 и GBK, я не думаю, что эта функция могла бы правильно различать схему кодирования входной строки.
Кроме того, я попытался использовать CDATA для переноса строки, этостранно, что синтаксический анализатор XML по-прежнему жалуется на недопустимые коды UTF-8 и т. д. Конечно, когда я собираю файл xml, то внутри CDATA наверняка беспорядок.
Есть предложения?