我有一个生成UTF-8文件的应用程序,但有些内容编码不正确.一些字符编码为iso-8859-1 aka iso-latin-1或cp1252 aka Windows-1252.有没有办法恢复原始文本?
我从XML文件中提取字符串,即使它应该是纯UTF-8,但事实并非如此.我的想法是
#!/usr/bin/perl
use warnings;
use strict;
use Encode qw(decode encode);
use Data::Dumper;
my $x = "m\x{e6}gtig";
my $y = "m\x{c3}\x{a6}gtig";
my $a = encode('UTF-8', $x);
my $b = encode('UTF-8', $y);
print Dumper $x;
print Dumper $y;
print Dumper $a;
print Dumper $b;
if ($x eq $y) { print "1\n"; }
if ($x eq $a) { print "2\n"; }
if ($a eq $y) { print "3\n"; }
if ($a eq $b) { print "4\n"; }
if ($x eq $b) { print …Run Code Online (Sandbox Code Playgroud)