Perl中文/unicode/utf8/GB2312编码之间的转换是一件很让人头疼的事情,我总结了以下主要的转换方法,供大家了解参考。
# author: jiangyujie use utf8; use Encode; use URI::Escape; $/ = "/n"; #从unicode得到utf8编码 $str = '%u6536'; $str =~ s//%u([0-9a-fA-F]{4})/pack("U",hex($1))/eg; $str = encode( "utf8", $str ); print uc unpack( "H*", $str ); # 从unicode得到gb2312编码 $str = '%u6536'; $str =~ s//%u([0-9a-fA-F]{4})/pack("U",hex($1))/eg; $str = encode( "gb2312", $str ); print uc unpack( "H*", $str ); # 从中文得到utf8编码 $str = "收"; print uri_escape($str); # 从utf8编码得到中文 $utf8_str = uri_escape("收"); print uri_unescape($str); # 从中文得到perl unicode utf8::decode($str); @chars = split //, $str; foreach (@chars) { printf "%x ", ord($_); } # 从中文得到标准unicode $a = "汉语"; $a = decode( "utf8", $a ); map { print "//u", sprintf( "%x", $_ ) } unpack( "U*", $a ); # 从标准unicode得到中文 $str = '%u6536'; $str =~ s//%u([0-9a-fA-F]{4})/pack("U",hex($1))/eg; $str = encode( "utf8", $str ); print $str; # 从perl unicode得到中文 my $unicode = "/x{505c}/x{8f66}"; print encode( "utf8", $unicode );
在使用url进行参数传递时,经常会传递一些中文名的参数或URL地址,在后台处理时会发生转换错误。在有些传递页面使用GB2312,而在接收页面使用UTF8,这样接收到的参数就可能会与原来发生不一致。使用服务器端的urlEncode函数编码的U…
2016年2月26日16:47:13星期五情景:PHP从csv导入数据时乱码$name=mb_convert_encoding($name,'UTF-8','ASCII,GBK,GB2312');
有时候上传文件是中文的文件名会出现乱码,可以在移动文件时使用icov('utf-8','gb2312',filename)转换代码:<?php//header('Content-type:text/html;charset=utf-8…
中文双字节字符编码范围1.GBK(GB2312/GB18030)x00-xffGBK双字节编码范围x20-x7fASCIIxa1-xff中文gb2312x80-xff中文gbk2.UTF-8(Unicode)u4e00-u9fa5(中文)x…
一、判断中文和编码有关gbk是双字节,utf8是三字节,可以根据中文的范围来判断编码范围1.GBK(GB2312/GB18030)\x00-\xffGBK双字节编码范围\x20-\x7fASCII\xa1-\xff中文\x80-\xff中文…
1.需要在php数组中用中文排序,但是一般使用utf8格式的文件,直接用asort排序不行。用gbk和gb2312可以。这跟几种格式的编码有关系。gbk和gb2312本身的编码就是用拼音排序的。代码如下复制代码functionutf8_ar…
在php中字符编码转换我们一般会用到iconv与mb_convert_encoding进行操作,但是mb_convert_encoding在转换性能上比iconv要差很多哦。stringiconv(stringin_charset,stri…
有的时候我们用python来抓取网页会得到类似'\\u003C\\u0066\\u0072\\u006F\\u006D\\u003E'或者'%u003c%u0062%u0072%u003e%u003c%u0064%u0069%u0076%u…