"utf8"\ x96"未映射到位于<somefile.pl>处的行号 - 321处的Unicode"Perl中的错误

Bhu*_*han 6 unicode perl utf-8

我正在设置Perl应用程序.我收到了这个错误."utf8"\ x96"没有映射到Unicode"可以任何人让我知道原因和解决方案.我错过了任何配置,还是我的安装问题?

以下是代码:

open(FILE,"<:encoding(UTF-8)",$self->{BASEDIR}.$self->{FILENAME}) || die "could not open file $basedir$filename - $!";
Run Code Online (Sandbox Code Playgroud)

Jim*_*son 7

字符0x96不是有效的UTF-8编码.在0x80之上有一个代码点块,在UTF-8中,编码2或3字节字符的开头.

您正在阅读的输入不能是UTF-8,很可能是Latin1或CP1252.

您将需要将输入数据转换为UTF-8,但是在Perl中做到这一点(自从我做任何Perl以来已经很长时间了,并且在我编写Perl时它默认不使用UTF-8 :-)

  • 如果您编辑帖子以包含更多信息,例如您收到错误的代码和导致问题的数据样本,将会有所帮助.否则我们只是在猜测. (2认同)

Hug*_*ugh 6

我怀疑你认为用UTF-8编码的东西实际上并不是用UTF-8编码的.