完美的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 相关文章推荐
超强分页类2.0发布,支持自定义风格,默认4种显示模式
Jan 02 PHP
php的一些小问题
Jul 03 PHP
php中var_export与var_dump的区别分析
Aug 21 PHP
Php图像处理类代码分享
Jan 19 PHP
PHP读取PDF内容配合Xpdf的使用
Nov 24 PHP
PHP应用JSON技巧讲解
Feb 03 PHP
执行、获取远程代码返回:file_get_contents 超时处理的问题详解
Jun 25 PHP
PHP SPL标准库之文件操作(SplFileInfo和SplFileObject)实例
May 11 PHP
PHP操作MySQL的mysql_fetch_* 函数的常见用法教程
Dec 25 PHP
YII2.0框架行为(Behavior)深入详解
Jul 26 PHP
TP5框架实现自定义分页样式的方法示例
Apr 05 PHP
浅析PHP echo 和 print 语句
Jun 30 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
超级简单的php+mysql留言本源码
2009/11/11 PHP
PHP 获取远程文件内容的函数代码
2010/03/24 PHP
到处都是jQuery选择器的年代 不了解它们的性能,行吗
2012/06/18 Javascript
js、css、img等浏览器缓存问题的2种解决方案
2013/10/23 Javascript
js实现图片放大和拖拽特效代码分享
2015/09/05 Javascript
jquery动态增加删减表格行特效
2015/11/20 Javascript
原生JavaScript实现异步多文件上传
2015/12/02 Javascript
微信小程序 122100版本更新问题解决方案
2016/12/22 Javascript
微信小程序中hidden不生效原因的解决办法
2017/04/26 Javascript
深入理解Node中的buffer模块
2017/06/03 Javascript
vue服务端渲染的实例代码
2017/08/28 Javascript
JavaScript自执行函数和jQuery扩展方法详解
2017/10/27 jQuery
详解angularjs 学习之 scope作用域
2018/01/15 Javascript
NodeJS实现不可逆加密与密码密文保存的方法
2018/03/16 NodeJs
微信小程序判断用户是否需要再次授权获取个人信息
2019/07/18 Javascript
element 中 el-menu 组件的无限极循环思路代码详解
2020/04/26 Javascript
精确查找PHP WEBSHELL木马的方法(1)
2011/04/12 Python
Python实现简单状态框架的方法
2015/03/19 Python
Python程序中的观察者模式结构编写示例
2016/05/27 Python
python Matplotlib画图之调整字体大小的示例
2017/11/20 Python
python pandas模块基础学习详解
2019/07/03 Python
python 实现手机自动拨打电话的方法(通话压力测试)
2019/08/08 Python
python多继承(钻石继承)问题和解决方法简单示例
2019/10/21 Python
Django实现任意文件上传(最简单的方法)
2020/06/03 Python
Android Q之气泡弹窗的实现示例
2020/06/23 Python
Python 整行读取文本方法并去掉readlines换行\n操作
2020/09/03 Python
美国女孩洋娃娃店:American Girl
2017/10/24 全球购物
加拿大在线隐形眼镜和眼镜店:VisionPros
2019/10/06 全球购物
系统管理员的职责包括那些?管理的对象是什么?
2013/01/18 面试题
27个经典Linux面试题及答案,你知道几个?
2013/01/10 面试题
基层工作经历证明
2014/01/13 职场文书
实习单位评语
2014/04/26 职场文书
工作失误检讨书(经典集锦版)
2014/10/17 职场文书
党的群众路线教育实践活动先进个人材料
2014/12/24 职场文书
2016年学校安全教育月活动总结
2016/04/06 职场文书
python3实现常见的排序算法(示例代码)
2021/07/04 Python