我正在尝试使用 expat 解析 XML 文件(OSM 数据),并且有些行带有一些 expat 无法解析的 Unicode 字符:
<tag k="name"
v="абвгдежзиклмнопр�?туфхцчшщьыъ�?ю�?�?БВГДЕЖЗИКЛМ�?ОПРСТУФХЦЧШЩЬЫЪЭЮЯ" />
<tag k="name" v="Cin\x8e? Rex" />
(开头行中的 XML 文件编码为“UTF-8”)
文件很旧,肯定有错误。在现代文件中,我看不到 UTF-8 错误,它们被解析得很好。但是如果我的程序遇到损坏的符号怎么办,我可以采取什么解决方法?是否可以加入 bz2 编解码器(我解析压缩文件)和 utf-8 编解码器以忽略损坏的字符,或者将它们更改为“?”?