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


Posted in PHP onJune 23, 2011

看代码:

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

PHP 相关文章推荐
杏林同学录(二)
Oct 09 PHP
配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
Apr 25 PHP
基于php split()函数的用法详解
Jun 05 PHP
php定界符
Jun 19 PHP
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
Nov 06 PHP
php 魔术方法详解
Nov 11 PHP
php基于curl扩展制作跨平台的restfule 接口
May 11 PHP
ThinkPHP框架搭建及常见问题(XAMPP安装失败、Apache/MySQL启动失败)
Apr 15 PHP
浅谈PHP命令执行php文件需要注意的问题
Dec 16 PHP
让ThinkPHP的模板引擎达到最佳效率的方法详解
Mar 14 PHP
Laravel 简单实现Ajax滚动加载示例
Oct 22 PHP
laravel框架中控制器的创建和使用方法分析
Nov 23 PHP
PHP读取网页文件内容的实现代码(fopen,curl等)
Jun 23 #PHP
php中获取指定IP的物理地址的代码(正则表达式)
Jun 23 #PHP
PHP学习笔记 (1) 环境配置与代码调试
Jun 19 #PHP
php开发过程中关于继承的使用方法分享
Jun 17 #PHP
php设计模式  Command(命令模式)
Jun 17 #PHP
php学习笔记 面向对象中[接口]与[多态性]的应用
Jun 16 #PHP
php smarty 二级分类代码和模版循环例子
Jun 16 #PHP
You might like
ajax在joomla中的原生态应用代码
2012/07/19 PHP
php中session使用示例
2014/03/29 PHP
php抽象类使用要点与注意事项分析
2015/02/09 PHP
Laravel中使用Queue的最基本操作教程
2017/12/27 PHP
jquery对ajax的支持介绍
2013/12/10 Javascript
window.open 以post方式传递参数示例代码
2014/02/27 Javascript
alert和confirm功能介绍
2014/05/21 Javascript
JS的数组迭代方法
2015/02/05 Javascript
JQUERY简单按钮轮换选中效果实现方法
2015/05/07 Javascript
jquery实现触发时更新下拉列表内容的方法
2015/12/02 Javascript
基于jQuery和CSS3制作响应式水平时间轴附源码下载
2015/12/20 Javascript
JS表格组件神器bootstrap table详解(强化版)
2016/05/26 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
2016/06/15 Javascript
jQuery自定义插件详解及实例代码
2016/12/29 Javascript
微信小程序搜索组件wxSearch实例详解
2017/06/08 Javascript
关于JavaScript语句后面的分号问题
2017/12/07 Javascript
vue+VeeValidate 校验范围实例详解(部分校验,全部校验)
2018/10/19 Javascript
微信小程序时间轴实现方法示例
2019/01/14 Javascript
用原生 JS 实现 innerHTML 功能实例详解
2019/04/03 Javascript
微信小程序 SOTER 生物认证DEMO 指纹识别功能
2019/12/13 Javascript
vue 使用v-for进行循环的实例代码详解
2020/02/19 Javascript
vue+elementui通用弹窗的实现(新增+编辑)
2021/01/07 Vue.js
使用Python的Zato发送AMQP消息的教程
2015/04/16 Python
全面了解python字符串和字典
2016/07/07 Python
python使用标准库根据进程名如何获取进程的pid详解
2017/10/31 Python
Python 调用 Outlook 发送邮件过程解析
2019/08/08 Python
Opencv求取连通区域重心实例
2020/06/04 Python
北京某科技有限公司C# .net笔试题
2014/09/27 面试题
市场营销大学生职业规划书
2014/02/25 职场文书
小学竞选班长演讲稿
2014/09/09 职场文书
股权转让协议书
2014/12/07 职场文书
2014年艾滋病防治工作总结
2014/12/10 职场文书
大二学年个人总结
2015/03/03 职场文书
给老师的保证书怎么写
2015/05/09 职场文书
幼儿园秋季开学通知
2015/07/16 职场文书
祝福语集锦:给妹妹结婚的祝福语
2019/12/18 职场文书