知识大全 关于PHP自动判断字符集并转码的详解

Posted 字节

篇首语:志行万里者,不中道而辍足。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 关于PHP自动判断字符集并转码的详解相关的知识,希望对你有一定的参考价值。

关于PHP自动判断字符集并转码的详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  原理很简单 因为gb /gbk是中文两字节 这两个字节是有取值范围的 而utf 中汉字是三字节 同样每个字节也有取值范围 而英文不 管在何种编码情况下 都是小于 只占用一个字节(全角除外) 如果是文件形式的编码检查 还可以直接check utf 的BOM信息 话不多说 直接上函数 这个函数是用来对字符串进行检查和转码的

复制代码 代码如下:

   <?php function safeEncoding($string $outEncoding = UTF ) $encoding = "UTF "; for($i= ;$i<strlen($string);$i++) if(ord($string$i)< ) continue; if((ord($string$i)& )== ) //第一个字节判断通过 $char = $string++$i; if((ord($char)& )== ) //第二个字节判断通过 $char = $string++$i; if((ord($char)& )== ) $encoding = "UTF "; break; if((ord($string$i)& )== ) //第一个字节判断通过 $char = $string++$i; if((ord($char)& )== ) // 第二个字节判断通过 $encoding = "GB "; break; if(strtoupper($encoding) == strtoupper($outEncoding)) return $string; else return iconv($encoding $outEncoding $string);

cha138/Article/program/PHP/201311/21076

相关参考

知识大全 浅析PHP中的字符串编码转换(自动识别原编码)

浅析PHP中的字符串编码转换(自动识别原编码)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!本篇文

知识大全 关于Apache 2.0和PHP5.0安装详解

关于Apache2.0和PHP5.0安装详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!随着时代

知识大全 php字符串的操作

  strim($str)去除字符串两边的特殊字符 ltrim()左  rtrim()右  addslashes($str)  自动转移字符串为特殊字

知识大全 详解PHP会话存储方式

详解PHP会话存储方式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  先确认会话是否自动开启还是

知识大全 php匹配字符中链接地址程序代码

  判断一个字符串是否含有超级链接 代码如下   $str="ssdsf<atarget=_blank>sdf</a>sdfss";if(preg_matc

知识大全 PHP校验ISBN码的函数

PHP校验ISBN码的函数  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  最近在编写一个图书管理

知识大全 php仿QQ验证码的实例分析

php仿QQ验证码的实例分析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!本文介绍一个php实现的

知识大全 bat批处理 if 命令示例详解

if 命令示例详解if正如它E文中的意思就是如果的意思用来进行条件判断翻译过来的意思就是如果符合某一条件便执行后面的命令主要用来判断两个字符串是否相等两个数值是大于小于等于然后执行相应的命令

知识大全 php 验证码(倾斜,正弦干扰线,黏贴,旋转)

  字体变型(一般通过算法进行扭曲比较有代表性就是    字体黏贴(这里面以qq验证码为代表了目前网上还是很难找到破解qq验证码的)    干扰线噪点(这种识别起来相当容易很容易被程序自动化识别)  

知识大全 php删除字符串末尾子字符,删除开始字符,删除两端字符

  今天在处理删除字符串两端的特定字符时遇到了下面的问题先看例子<SPAN></SPAN>$str=akmumu/writedbjson;我要做的是删除开始的akmumu再删除