我的MySQL数据库编码ut8_generic_ci当我使用DBI 并将其存储在$变量并运行此变量的lenght功能我得到一个数字lenght从数据库中读取一些文本字段使用长度和编码用Perl
my $data retrive_text_from_db(); #using dbi
print length $data;
但是当我的$的数据存储在一个文本文件,然后尝试读取它的另一个脚本并运行长度的功能我得到有时不同长度
open T, '<' ,'file.txt' or die $!;
binmode(T, ":utf8");
my $text;
{local $/; $text=<T>; }
print length $text;
也有人遇到此问题/有人能告诉什么可能是根o如果问题存在,我该如何解决?
在使用调用'length'之前,你不需要'decode'吗? – Zaid
Mike Whittaker关于Perl和Unicode的演讲中的幻灯片可能会有所帮助 - http://www.slideshare.net/Penfold/perl-and-unicode –