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

 更新时间:2011年06月23日 19:17:59   作者:  
今天照着书随便写了段代码,代码意图是将字符串使用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了。

相关文章

  • php中adodbzip类实例

    php中adodbzip类实例

    这篇文章主要介绍了php中adodbzip类,以实例形式详细讲述了adodbzip类文件的实现方法与使用技巧,注释中包含详尽的功能说明,非常具有实用价值,需要的朋友可以参考下
    2014-12-12
  • php数组函数序列之array_push() 数组尾部添加一个或多个元素(入栈),返回新长度。

    php数组函数序列之array_push() 数组尾部添加一个或多个元素(入

    array_push() 定义和用法array_push() 函数向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度
    2011-11-11
  • php Session存储到Redis的方法

    php Session存储到Redis的方法

    php Session可以保存到文本或者内存、还有数据库,今天讲的是存到Redis的方法。
    2013-11-11
  • PHP5.5和之前的版本empty函数的不同之处

    PHP5.5和之前的版本empty函数的不同之处

    这篇文章主要介绍了PHP5.5和之前的版本empty函数的不同之处,开发时需要注意,假如你的本地开发PHP版本是PHP5.5以上,而服务器低于PHP5.5,更要注意这个问题,需要的朋友可以参考下
    2014-06-06
  • PHP正则过滤处理微信昵称中emoji字符的方法

    PHP正则过滤处理微信昵称中emoji字符的方法

    这篇文章主要介绍了PHP正则过滤处理微信昵称中emoji字符的方法,结合实例形式分析了php基于正则过滤删除微信昵称中emoji字符的相关操作技巧,并附带了一个简单的正则回调过滤操作示例,需要的朋友可以参考下
    2018-06-06
  • 浅析PHP水印技术

    浅析PHP水印技术

    浅析PHP水印技术...
    2007-02-02
  • php实现图片文件与下载文件防盗链的方法

    php实现图片文件与下载文件防盗链的方法

    这篇文章主要介绍了php实现图片文件与下载文件防盗链的方法,包括了常用的操作方法与服务器端配置方法等,非常具有实用价值,需要的朋友可以参考下
    2014-11-11
  • PHP生成随机用户名和密码的实现代码

    PHP生成随机用户名和密码的实现代码

    使用PHP生成随机数可以应用在许多地方,比如可以设计程序的随机密码、模拟掷骰子游戏的应用程序、石头剪子布游戏应用程序等等
    2013-02-02
  • php 如何获取数组第一个值

    php 如何获取数组第一个值

    以下是对使用php实现获取数组第一个值的方法进行了详细的分析介绍,需要的朋友可以过来参考下
    2013-08-08
  • Mac M1安装mnmp(Mac+Nginx+MySQL+PHP)开发环境

    Mac M1安装mnmp(Mac+Nginx+MySQL+PHP)开发环境

    这篇文章主要介绍了Mac M1安装mnmp(Mac+Nginx+MySQL+PHP)开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03

最新评论