【发布时间】:2011-09-03 16:14:04
【问题描述】:
我正在挑选别人的大型项目并试图纠正错误。问题是,我只是不确定正确的方法是什么。
所以,我正在卷曲一堆 HTML 页面,然后使用简单的命令将其写入文件,例如:
$src = `curl http://google.com`;
open FILE, ">output.html";
print FILE $src;
close FILE;
现在我希望将它们保存为 UTF-8。它保存为什么?然后我正在使用相同的基本“打开”命令读取 html 文件,使用正则表达式调用解析 html,并使用字符串连接创建一个大字符串并将其写入 XML 文件(使用与上面相同的代码)。我已经开始改用 XML::Writer,但现在我必须检查并修复编码不准确的文件。
所以,我不再拥有 html,但我仍然拥有必须显示正确字符的 XML。这是一个例子:http://filevo.com/wkkixmebxlmh.html
主要问题是检测并用编辑器中正确显示的“\x{2019}”替换有问题的字符。但我想不出一个正则表达式来实际捕捉野外的角色。
更新:
我仍然无法检测到上面上传到 Filevo 的 XML 文件中的 ALT-0146 字符。我试过用 UTF-8 打开它,然后搜索 /\x{2019}/、/chr(0x2019)/ 和 /'/,什么都没有。
【问题讨论】:
-
use utf8专门用于将您的脚本的源代码视为 UTF-8 编码。它与脚本的任何输入和输出的编码(包括 STDOUT)没有任何关系。 -
啊,谢谢你的澄清。
标签: html xml perl utf-8 latin1