我们使用的是Perl 5.8.8版。我相信它有一些Unicode(UTF-8)支持,但我不相信它是可靠的。使用Perl 5.8.8处理和保存数据的最佳选择是什么?那么html实体vs实际处理Unicode呢?
我们处理非常大的文档。为了使许多功能正常工作,我们当前过滤/替换一些Unicode,做一些不稳定的编码作为html权限,并且一些代码被传递但是逃避匹配并导致许多必须修复的错误修复逐一。有些人可能会被忽视,我们的排版也会减少。我是那种有点恼怒的人。
到目前为止,我的想法是输入Unicode字符很麻烦,扩展的标点符号比实体更难以在视觉上区分。最后我读到了有关处理Unicode的问题,并认为它可能对使用当代Perl版本的新项目有利,但难以改进,因此使用脚本进行标准化为html实体似乎是更好的选择。
另一方面,边界代码或脚本无论如何都需要使用Unicode。我不认为它会影响JavaScript的功能。我相信这些实体很快就会被翻译成Unicode字符,并成为DOM文本节点的常规元素。
是否有一个lib或脚本能够始终如一地规范化使用Unicode 和 html实体?如果实体应使用命名实体的短词典在该空间内进行规范化,其余部分则默认为数字。这将是一个单独的步骤,而且相对容易。其他步骤是修改输入脚本以帮助规范化Perl代码,并创建一些习惯用法来匹配像破折号,具有多个选项的引号等元素。
答案 0 :(得分:0)
Perl 5.8.8在存储Unicode字符串时没有问题。 (今天在5.18中仍然使用相同的字符串存储格式。)
Perl 5.8.8在将Unicode字符串编码为UTF-8时没有问题。 (在CPAN上可以找到比5.18附带的更新版本的Encode,我敢打赌它在5.8.8上安装得非常好。)
HTML::Entities的encode_entities
会将您想要的代码点编码为实体,当它们存在时使用命名实体,否则编号实体。