在Perl中读写未知格式的XML文件?
|
我正在整理别人的大型项目,并试图纠正错误。问题是,我只是不确定正确的方法是什么。
因此,我要遍历一堆HTML页面,然后使用简单的命令将其写入文件:
$src = `curl http://google.com`;
open FILE, \">output.html\";
print FILE $src;
close FILE;
现在我希望将它们另存为UTF-8。另存为什么?然后,我将使用相同的基本\'open \'命令读取html文件,使用regex调用解析html,并使用字符串串联来创建大字符串并将其写入XML文件(使用与上述相同的代码) 。我已经开始使用XML :: Writer代替,但是现在我必须检查并修复编码不正确的文件。
因此,我不再有html了,但是我仍然有必须显示正确字符的XML。这是一个示例:http://filevo.com/wkkixmebxlmh.html
主要问题是检测并使用正确显示在编辑器中的\“ \\ x {2019} \”替换有问题的字符。但是我无法找出一个正则表达式来真正捕捉野性。
更新:
我仍然无法检测到我在上面上传到Filevo的XML文件中的ALT-0146字符。我尝试用UTF-8打开它,然后搜索/ \\ x {2019} /,/ chr(0x2019)/和/’/,什么也没有。
没有找到相关结果
已邀请:
3 个回复
混侩闯空坷
将
层应用于输出流
或在3参数
通话中
任意输入比较棘手。如果幸运的话,HTML输入会在很早的时候告诉您其编码:
啊,有::7ѭ。现在,您可以继续将输入作为原始字节读取,并找到某种方式以已知编码对这些字节进行解码。 CPAN可以为此提供帮助。
丧泉缝锋
缝皋
您说您知道角色应该是
,但完全被弄乱了。任何编码都不能为0x80。这看起来像是粘贴事故,您在编辑器/剪贴板之间传输数据,而不仅仅是处理文件。如果不是这种情况,那么您的母牛或牛人出了错,您无法在算法上纠正。