PHP字符编码问题之GB2312 VS UTF-8解决方法

前端之家收集整理的这篇文章主要介绍了PHP字符编码问题之GB2312 VS UTF-8解决方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

代码
<div class="codetitle"><a style="CURSOR: pointer" data="42521" class="copybut" id="copybut42521" onclick="doCopy('code42521')"> 代码如下:

<div class="codebody" id="code42521">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;



New Document
<Meta name="author" content=""/>
<Meta name="keywords" content=""/>
<Meta name="description" content=""/>


<?PHP
$string1 = "i am a PHPer";
$string2 = "这网站是编程之家";
print_r(str_split($string1));
echo "
";
print_r(str_split($string2,4));
?>



测试结果打出我所料——

中文乱码

  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了。

猜你在找的PHP相关文章