perl 字符和字节 表示utf8
2017-03-11 21:28
169 查看
[oracle@oadb sbin]$ cat insertdb.pl use DBI; use Encode; use HTTP::Date qw(time2iso str2time time2iso time2isoz); use Net::SMTP; my $a="老干妈"; # $a=encode_utf8($a); print length($a); print "\n"; print $a; my $dbName = 'oadb'; my $dbUser = 'query'; my $dbUserPass = 'kjk7787czcb'; my $dbh = DBI->connect("dbi:Oracle:$dbName", $dbUser, $dbUserPass) or die "can't connect to database "; $dbh->do("insert into tlcb values('$a')"); [oracle@oadb sbin]$ perl insertdb.pl 9 老干妈[oracle@oadb sbin]$ 这里是字节长度 [oracle@oadb sbin]$ cat insertdb.pl use DBI; use Encode; use HTTP::Date qw(time2iso str2time time2iso time2isoz); use Net::SMTP; my $a="老干妈"; $a=decode_utf8($a); print length($a); print "\n"; print $a; my $dbName = 'oadb'; my $dbUser = 'query'; my $dbUserPass = 'kjk7787czcb'; my $dbh = DBI->connect("dbi:Oracle:$dbName", $dbUser, $dbUserPass) or die "can't connect to database "; $dbh->do("insert into tlcb values('$a')"); [oracle@oadb sbin]$ perl insertdb.pl 3 Wide character in print at insertdb.pl line 9. 老干妈[oracle@oadb sbin]$ 这里表示3个字符
相关文章推荐
- 过滤utf8 字符中超过三个字节的字符,或者非utf8字符
- 让MySql支持Emoji表情(MySQL中4字节utf8字符保存方法)
- 让MySql支持Emoji表情(MySQL中4字节utf8字符保存方法)
- python中文utf8编码后是占3个字符,unicode汉字为2字节
- 将宽字符转成UTF8字节的字符
- 习题 8.19(1) 编写一个函数new,对n个字符开辟连续的存储空间,此函数应返回一个指针(地址),指向字符串开始的空间。new(n)表示分配n个字节的内存空间。
- encode_utf8 把字符编码成字节 decode_utf8解码UTF-8到字符
- perl 内部字节字符转换
- python中文utf8编码后是占3个字符,unicode汉字为2字节
- 让MySql支持Emoji表情(MySQL中4字节utf8字符保存方法)
- Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示
- 根据utf8字符首字节,获取utf8字符所占字节数
- encode_utf8 把字符编码成字节 decode_utf8解码UTF-8到字符
- 让MySql支持表情符号(MySQL中4字节utf8字符保存方法)
- 一言以蔽之,窄字符就是用一个字节表示一个字符,宽字符就是用≥2个字节表示一个字符。
- 几个Unicode新知识:扩展ANSI有很多种(256个字符),Unicode表示ANSI字符时高字节为0,Unicode不包括古代字符
- 让MySql支持表情符号(MySQL中4字节utf8字符保存方法)
- C语言中一个字符对应一个ascii码;占一个1个字节8个二进制位;存到内存中也是用ascii的十进制的二进制表示
- 让MySql支持Emoji表情(MySQL中4字节utf8字符保存方法)
- Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示