今天照着书随便写了段代码,代码意图是将字符串使用str_split()函数进行分割成数组,英文好说,但分割中文(两个中文一个数组单元)时就出问题了——
看代码:
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" > < html > < head > < meta http-equiv ="Content-Type" content ="text/html; charset=utf-8" /> < title > New Document </ title > < meta name ="author" content ="" /> < meta name ="keywords" content ="" /> < meta name ="description" content ="" /> < link rel ="stylesheet" type ="text/css" href ="" /> </ head > < body > <? php $string1 = "i am a phper"; $string2 = "这本书是蓝海战略"; print_r(str_split($string1)); echo "<br />"; print_r(str_split($string2,4)); ?> </ body > </ html >
测试结果打出我所料——中文乱码
Why?Why?Why?Why?乱码是什么?什么事乱码?给我解释解释,什么,是%&的乱码!
因为英文无乱码,只有中文乱码,首先想到了编码的问题,于是突然想起来UTF-8的编码是UTF-8需要3个字节,死马当活马医吧!
于是 print_r(str_split($string2,4));这句中的4 ,就被换成了6,于是乎——看结果
同样,你也可以试试将编码的charset的UTF-8改成GB2312,因为Unicode的编码是需要2字节的,所以说Gb2312的编码比UTF-8能够节约1/3的空间,但是如果你要兼容繁体中文、韩文、日文的其他的语言就需要使用UTF-8了。
顺便发现了首动感的Music,拿来分享一下:
—It's Ok?
—It's OK!
[hjp3]hjptype=song&player=1&son=http://blog.whnews.cn/blogatca/Mon_0711/9062_1194571178_NI2PNoZHaTjRCmi.mp3&autoplay=yes&autoreplay=1&bgcolor=FFFFFF&width=200&height=20[/hjp3]