≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 网络编程 > PHP笔记

php尽量不要使用gb2312避免乱码

人气:615 时间:2018-10-28

这篇文章主要为大家详细介绍了php尽量不要使用gb2312避免乱码,具有一定的参考价值,可以用来参考一下。

感兴趣php尽量不要使用gb2312避免乱码的小伙伴,下面一起跟随四海网的小编罗X来看看吧。<br>
查阅以下几种编码

GB2312
双字节,定长
包括一二级汉字和9区符号
高位低位一样,都是从0xA1~0xFE
汉字编码范围是0xB0A1~0xF7FE
 
GBK
双字节,定长
兼容GB2312
编码范围:0x8140~0xFEFE
所有字符都可以映射到Unicode2.0
 
GB18030-2000(GBK2K)
收藏少数民族字型
不定长,包含二字节部分和四字节部分
二字节部分兼容GBK
四字节部分是扩充字符,第一第三字节范围:0x81~0xFE,第二第四字节范围:0x30~0x39
 
Unicode
包括所有字符字型
各地区语言都可与之建立映射
异种语言的转换是通过Unicode来完成的
汉字从4E00开始
 
其中gb2312编码所表示的字符最少,这样其实会引起很多问题,其中有些可能你看不懂的乱码问题也是因为这原因而起的。
这里举个例子:
"和珅"这两个字中的"珅"字简体字和繁体字是一样的,但在gb2312编码里是没有的。这样在使用gb2312编码的页面里就会出问题了,可能你在页面中输入是正确的但传输到了服务器端就会乱码,而且他可能会影响下面的字也出现乱码(字节码组合问题)。
 
测试一下语句
echo iconv('UTF-8', 'gb2312//IGNORE', iconv('gb2312', 'UTF-8', '珅字出现乱码')).'<br />';
echo mb_convert_encoding(mb_convert_encoding('珅字出现乱码', 'UTF-8', 'gb2312'), 'gb2312', 'UTF-8').'<br/>';
echo mb_convert_encoding(mb_convert_encoding('珅字出现乱码', 'UTF-8', 'gbk'), 'gbk', 'UTF-8').'<br />';
echo iconv('UTF-8', 'gbk', iconv('gbk', 'UTF-8', '珅字出现乱码')).'<br />';

结果:
 
?字出现乱码
珅字出现乱码
珅字出现乱码
 
第一行没有输出
第二行出现乱码
第三行由于使用gbk编码显示正常
第四行也由于使用gbk编码显示正常
 
而gbk兼容GB2312而且可以在gb2312编码的页面中正常显示。在使用gb2312编码的页面使用gbk编码,可以避免不必要的麻烦。如果一定要用gb2312编码可以在前台显示页面使用gb2312编码,而后台数据库和服务器端使用gbk编码。
 
另:网上所说的iconv在utf-8转gb2312会出现乱码的问题,有的说是bug。其实这不是bug,也是这个问题。utf-8表示的字在gb2312里没有,当然要乱码了。因此当你发现gb2312出现乱码应该首先想到是这问题。

本文来自:http://www.q1010.com/173/2714-0.html

注:关于php尽量不要使用gb2312避免乱码的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:乱码

您可能感兴趣的文章

  • php iconv函数使用方法(解决中文乱码)
  • python mysql模块内存泄露和中文乱码解析
  • 解决php与mysql中文乱码问题
  • MySQL 修改编码设置及乱码问题
  • MySQL解决乱码办法
  • PHP使用NuSOAP调用Web Service乱码问题及其解决方法
  • python中文乱码问题总结示例
  • Python解决字符串encode与decode乱码示例
  • python 解决生成csv乱码的问题
  • php IE6通过get发送奇数个汉字请求会乱码的解决方法
上一篇:php iconv函数使用方法(解决中文乱码)
下一篇:PHP截取中文字符串函数(包括GB2312和UT-8)
热门文章
  • PHP 写入WRITE编码为UTF8的文件示例
  • PHP 中文字符串截取函数示例:支持gb2312,gbk,big
  • PHP 简单留言板的制作示例
  • 解决Fatal error: Call to undefined function mb_convert_encoding() in错误问题
  • PHP语言基础(标记、注释、变量、数组、常量、函数)示例
  • php 生成迅雷链接的简单示例
  • php 获取短网址的实现方法
  • PHP 通用分页类的简单示例
  • PHP 使用文件方式导入导出整个MYSQL数据库的实现方法
  • php 获取MYSQL错误的简单示例
  • 最新文章
    • 解决PHP使用redis实现统计缓存MySQL压力的问题
    • php 简单的上传进度条的简单示例
    • php 给html中引用的js和css路径打上版本号的实现方法
    • php 实现计算年龄精准到年月日的实例
    • php+ajax无刷新分页的简单示例
    • 解决php+ajax无刷新上传图片的问题
    • 解决PHP生成HTML静态页面的问题
    • 解决PHP使用uniqid函数生成唯一ID的问题
    • 解决PHP防刷票的一些问题
    • 微信access_token的获取开发的实现方法

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。