服务器之家

服务器之家 > 正文

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

时间:2019-11-29 15:00     来源/作者:PHP教程网

看代码: 

复制代码代码如下:


<!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> 


测试结果打出我所料——中文乱码

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

  Why?Why?Why?Why?乱码是什么?什么事乱码?给我解释解释,什么,是%&的乱码!

  因为英文无乱码,只有中文乱码,首先想到了编码的问题,于是突然想起来UTF-8的编码是UTF-8需要3个字节,死马当活马医吧!

  于是  print_r(str_split($string2,4));这句中的4 ,就被换成了6,于是乎——看结果

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

  同样,你也可以试试将编码的charset的UTF-8改成GB2312,因为Unicode的编码是需要2字节的,所以说Gb2312的编码比UTF-8能够节约1/3的空间,但是如果你要兼容繁体中文、韩文、日文的其他的语言就需要使用UTF-8了。

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
返回顶部