- 浏览: 107262 次
文章分类
最新评论
PHP自动判断字符集并转码的实例参考。
原理:
因为gb2312/gbk是中文两字节,这两个字节是有取值范围的,而utf-8中汉字是三字节,同样每个字节也有取值范围。而英文不 管在何种编码情况下,都是小于128,只占用一个字节(全角除外)。
如果是文件形式的编码检查,还可以直接check utf-8的BOM信息。话不多说,直接上函数,这个函数是用来对字符串进行检查和转码的。
附,php自动判断字符集并转码的实例代码:
原文地址:http://www.jbxue.com/article/12650.html
原理:
因为gb2312/gbk是中文两字节,这两个字节是有取值范围的,而utf-8中汉字是三字节,同样每个字节也有取值范围。而英文不 管在何种编码情况下,都是小于128,只占用一个字节(全角除外)。
如果是文件形式的编码检查,还可以直接check utf-8的BOM信息。话不多说,直接上函数,这个函数是用来对字符串进行检查和转码的。
附,php自动判断字符集并转码的实例代码:
<?php /** * 自动判断字符集并转码 * edit: www.jbxue.com */ function safeEncoding($string,$outEncoding ='UTF-8') { $encoding = "UTF-8"; for($i=0;$i<strlen($string);$i++) { if(ord($string{$i})<128) continue; if((ord($string{$i})&224)==224) { //第一个字节判断通过 $char = $string{++$i}; if((ord($char)&128)==128) { //第二个字节判断通过 $char = $string{++$i}; if((ord($char)&128)==128) { $encoding = "UTF-8"; break; } } } if((ord($string{$i})&192)==192) { //第一个字节判断通过 $char = $string{++$i}; if((ord($char)&128)==128) { // 第二个字节判断通过 $encoding = "GB2312"; break; } } } if(strtoupper($encoding) == strtoupper($outEncoding)) return $string; else return iconv($encoding,$outEncoding,$string); } ?>
原文地址:http://www.jbxue.com/article/12650.html
发表评论
-
php生成随机密码的自定义函数(转载分享)
2015-03-24 09:16 444php生成随机密码的自定义函数 发布时间:2015- ... -
PHP生成随机数的两种方法
2014-09-24 06:04 1348PHP生成随机数的两种方法 这里整理了php ... -
PHP分页代码实例分享
2014-09-19 19:39 559PHP分页代码实例教程 分享一段php分页代码,很简单, ... -
PHP读取csv文件的内容的方法。
2014-08-05 17:06 587PHP读取csv文件的内容的方法。 一次性读取csv文件内 ... -
分享---PHP下载文件的两种方法
2014-08-05 17:02 347PHP下载文件的两种方法与代码。 分享PHP实现下载文件 ... -
ThinkPHP URL重写问题实例详解
2014-06-22 22:13 725在使用thinkphp过程中,经常需要去掉URL路径中的in ... -
一个php 异常处理程序
2014-06-22 22:11 556一个php的异常处理程序,功能很简单当发生重大错误时,写日志 ... -
PHP清除指定html标签二个例子
2014-05-12 12:00 627在php中内置了一个html标签清除函数strip_tags ... -
php生成短网址的思路与方法(推荐)
2014-05-06 17:02 892生成短网址的思路以及使用php生成短网址的实现方法。 ... -
JS计算网页停留时间代码
2014-05-05 17:00 2113JS计算网页停留时间的代码。 <!DOCTYPE H ... -
php生成短网址的一例代码(仿微博短网址)
2014-05-05 16:58 519分享一个php短网址的生成代码。 <!DOCTYPE ... -
汉字转化为拼音(php版)
2014-03-21 16:54 443分享:汉字转化为拼音(php版) 很多服务器对于中文文件名支持 ... -
PHP 实现汉字转化拼音的函数
2014-03-21 16:48 792将汉字转拼音的代码,可以加到common文件里做公共函数。 代 ... -
php中文url转码实例
2014-03-21 16:45 2515PHP URL编码,可以使用 urlencode() 或者 r ... -
PHP图片验证码实例
2014-03-21 11:16 324在网上看到一个图片验证码,挻漂亮的,但是取回来发现,好像有 ... -
PHP中的类与面向对象
2014-03-20 09:15 467PHP编程中类与对象的区别: 类是抽象的,代表一类事物。 对象 ... -
解析PHP正则提取或替换img标记属性
2013-10-12 06:09 616对PHP正则提取或替换img标记属性进行了详细的分析介绍。 ... -
php 购物车的例子
2013-10-07 21:10 521php购物车的简单例子,使用cookie存购物车ID,db存购 ... -
php网上商城购物车设计代码分享
2013-10-07 21:07 2309一个可以包含促销活动的购物车,所以比较其他简单的购物车,会 ... -
php curl模拟登陆discuz论坛的代码
2013-10-07 21:04 823PHP支持的由Daniel Stenberg创建的libcu ...
相关推荐
本篇文章是对PHP自动判断字符集并转码进行了详细的分析介绍,需要的朋友参考下
因为自己使用字符编码一般的是utf-8编码,但如果对方的博客使用gb2312编码的话,POST过来就会出现乱码(除非对方POST前先转换编码)。在不能保证对方是否一定使用utf-8编码的情况下,自己做一个编码的检查和转换是很...
彻底解决android读取中文txt的乱码(自动判断文档类型并转码).doc
为了方便大家在jsp页面中,通过js代码实现字符集转换,在这儿总结了一些js字符集转码函数,方便大家使用!!
Oracle 字符集详解,包括查看,修改,导入导出,转换原理
java字符集编码乱码详解
前后台字符集转码.txt
而由字符组成的集合则成为字符集,字符集由于包含字符的多少与异同而形成了各种不同的字符集。我们知道,所有字符在计算机中都是以二进制来存储的。那么一个字符究竟由多少个二进制位来表示呢?这就涉及到字符编码的...
万能转码函数,解决中文字符转码问题、GBK转utf8问题,utf8转gbk等等各种转码、乱码问题。
常用字符集编码详解,常用字符集编码详解
Oracle 修改字符集Oracle 修改字符集Oracle 修改字符集
1.本C编码字符集包含小字符集和大字符集,小字符集为00--56,大字符集为00--ff。每一套字符集均可以完整显示蒙文,可以单独使用,可以进行相互之间编码转换;一级字符为00--56,二级符集为00--ff。 2.字符标有独、...
oracle字符集的查看,oracle客户端字符集的修改
UTF8字符集 UTF8并不算是一种电脑编码,而是一种储存和传送的格式,如前所述,每个Unicode/UCS字符都以 2或4个bytes来储存,看看以下的比较:
NULL 博文链接:https://yintech.iteye.com/blog/406253
Mysql数据库乱码 问题彻底解决 针对JAVA
字符转码 jvm字符集
字符集转换_SAP字符集转换_SAP字符集转换_SAP