![]() |
1
5
如果包含字符“”,则编码肯定不是ISO-8859-1(“Latin 1”),而是可能是CP1252(“Win Latin 1”)。处理utf8、iso-8859-1和cp1252的混合(甚至可能在同一个文件中)正是 Encoding::FixLatin Perl模块是为。 可以通过运行以下命令从cpan安装模块:
然后,您可以编写一个使用encoding::fixlatin模块的简短Perl脚本,但有一种更简单的方法。模块附带一个名为
如果您运行的是windows,那么fix_latin命令可能不在您的路径中,也可能没有通过pl2bat运行,在这种情况下,您需要执行以下操作:
确切的路径和文件名需要根据您的系统进行调整。
运行
|
![]() |
2
1
我不确定这是否是对你特定问题的有效答案,但你看过 GNU iconv tool ?这是相当普遍的。 |
![]() |
3
1
如果您有权访问cygwin,或者能够下载一些常用的*nix工具(您需要bash、grep、iconv和file,所有这些工具都可以通过 gnuwin32 ,您可能可以编写一个相当简单的shell脚本来完成这项工作。 剧本会 大约 如下所示:
不过,您需要测试这些步骤,例如,我不确定“file”对iso-8859文档究竟说什么。 |
![]() |
Manny · 如何比较Perl中的字符串? 3 年前 |
![]() |
BioRod · 我不能用Perl打印键和值 3 年前 |
![]() |
user17227456 · Perl CLI代码无法追加字符串行 3 年前 |
![]() |
LearnToBeBetter · 读取文件,搜索字符串,打印字符串 3 年前 |
![]() |
KJ7LNW · 一些波斯语文本的宽字符印刷,但其他文本则没有 3 年前 |
![]() |
con · 如何搜索大型数据结构并返回一系列给出特定值的键/数组? 3 年前 |
![]() |
Pranay Nanda · 使用regex解析许可证文件 7 年前 |