完美的2个php检测字符串是否是utf-8编码函数分享


Posted in PHP onJuly 28, 2014

在php开发中有时候会用到转码函数,比如iconv(),mb_convert_encoding()函数,在用函数转码的时候或者解码的时候我们有时候需要先判断当前字符串编码类型,不如是否是utf-8编码,是的话然后进行编码转换等操作。下面是小编整理的目前web开发中网上使用率比较高的、好的php关于UTF-8编码的判断函数,代码如下:

function is_utf8($string) //函数一
{
// From http://w3.org/International/questions/qa-forms-utf-8.html
return preg_match(‘%^(?:
[\x09\x0A\x0D\x20-\x7E] # ASCII
| [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
| \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
| [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
| \xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
| \xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3
| [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
| \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
)*$%xs', $string);
}

function mb_is_utf8($string) //函数二
{
return mb_detect_encoding($string, ‘UTF-8′) === ‘UTF-8′;
}

mb_detect_encoding()函数是php的一个内置函数,用来判断当前字符串编码类型,此函数有三个参数,第一个参数是要判断的字符串,第二个参数是比较的字符编码列表,可以使字符串,也可以是数组,第三个参数是要求。
希望这两个函数对需要的Phper有所帮助。

PHP 相关文章推荐
PHP编码规范-php coding standard
Mar 16 PHP
坏狼的PHP学习教程之第2天
Jun 15 PHP
php 日期时间处理函数小结
Dec 18 PHP
实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法
Jun 11 PHP
PHP sprintf()函数用例解析
May 18 PHP
php 广告调用类代码(支持Flash调用)
Aug 11 PHP
php图片加中文水印实现代码分享
Oct 31 PHP
php遍历文件夹所有文件子文件夹函数代码
Nov 27 PHP
php实现的验证码文件类实例
Jun 18 PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
Sep 30 PHP
strpos() 函数判断字符串中是否包含某字符串的方法
Jan 16 PHP
php操作redis命令及代码实例大全
Nov 19 PHP
php5.3以后的版本连接sqlserver2000的方法
Jul 28 #PHP
php中把美国时间转为北京时间的自定义函数分享
Jul 28 #PHP
php的mkdir()函数创建文件夹比较安全的权限设置方法
Jul 28 #PHP
php中error与exception的区别及应用
Jul 28 #PHP
浅析get与post的一些特殊情况
Jul 28 #PHP
thinkphp学习笔记之多表查询
Jul 28 #PHP
CMS中PHP判断系统是否已经安装的方法示例
Jul 26 #PHP
You might like
3种平台下安装php4经验点滴
2006/10/09 PHP
PHP静态文件生成类实例
2014/11/29 PHP
Yii中CGridView禁止列排序的设置方法
2016/07/12 PHP
php redis setnx分布式锁简单原理解析
2020/10/23 PHP
js批量设置样式的三种方法不推荐使用with
2013/02/25 Javascript
yepnope.js使用详解及示例分享
2014/06/23 Javascript
JS根据年月获得当月天数的实现代码
2014/07/03 Javascript
javascript实现可全选、反选及删除表格的方法
2015/05/15 Javascript
JavaScript包装对象使用详解
2015/07/09 Javascript
JavaScript 性能优化小结
2015/10/12 Javascript
javascript 用函数实现继承详解
2016/05/28 Javascript
JS字符串按逗号和回车分隔的方法
2017/04/25 Javascript
JS实现点击Radio动态更新table数据
2017/07/18 Javascript
Angular.js中$resource高大上的数据交互详解
2017/07/30 Javascript
ES6中Class类的静态方法实例小结
2017/10/28 Javascript
angular2 组件之间通过service互相传递的实例
2018/09/30 Javascript
[01:14:05]《加油DOTA》第四期
2014/08/25 DOTA
Python 文件操作技巧(File operation) 实例代码分析
2008/08/11 Python
Python实现给qq邮箱发送邮件的方法
2015/05/28 Python
使用Python多线程爬虫爬取电影天堂资源
2016/09/23 Python
Python生成密码库功能示例
2017/05/23 Python
Python实现按中文排序的方法示例
2018/04/25 Python
Python中py文件引用另一个py文件变量的方法
2018/04/29 Python
python实现周期方波信号频谱图
2018/07/21 Python
Python中类似于jquery的pyquery库用法分析
2019/12/02 Python
CSS3中的元素过渡属性transition示例详解
2016/11/30 HTML / CSS
Strawberrynet草莓网新加坡站:护肤、彩妆、香水及美发产品
2018/08/31 全球购物
瑞典度假品牌:OAS
2019/05/28 全球购物
总裁助理岗位职责
2014/02/17 职场文书
机关党员进社区活动总结
2014/07/05 职场文书
公司法人授权委托书范本
2014/09/12 职场文书
中学生旷课检讨书500字
2014/10/29 职场文书
大学生操行评语大全
2014/12/31 职场文书
荒岛余生观后感
2015/06/09 职场文书
java泛型通配符详解
2021/07/25 Java/Android
Vue鼠标滚轮滚动切换路由效果的实现方法
2021/08/04 Vue.js