Perl中将uft-8转换为gb2312的一种方法
2009-10-31 文章来源:互联网 浏览次数:462
由于项目开发的需要,项目中应用了Perl。我主要用Perl来作为上传文件处理,但是我上传文件到linux服务器时遇到了文件名编码问题,中文文件名上传后为乱码,需要对utf-8的中文字符串转换成gb2312。
下面是我用来解决字符转换的方法(Perl从5.6开始,内置编码为uft-8):
my $data = "我是中国人";
encode("gb2312", decode("utf-8", $data));
主要思路是先把字符串通过"uft-8"解码[decode()],再将解码后的字符串编码为需要的编码形式[encode()]。
需要注意的是,在使用decode(),encode()之前得使用use Encode。

文章评论(查看全部)