PHP字符编码问题之GB2312 VS UTF-8解决方法
2018-09-07 15:20
看代码:
复制代码 代码如下:
<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN
<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了。
文章标题:PHP字符编码问题之GB2312 VS UTF-8解决方法
文章链接:http://soscw.com/essay/14370.html