完美的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 chr() ord()中文截取乱码问题解决方法
Sep 08 PHP
php中url传递中文字符,特殊危险字符的解决方法
Aug 17 PHP
PHP利用REFERER根居访问来地址进行页面跳转
Sep 28 PHP
php调用C代码的实现方法
Mar 11 PHP
laravel 5 实现模板主题功能
Mar 02 PHP
php导入模块文件分享
Mar 17 PHP
PHP查找与搜索数组元素方法总结
Jun 12 PHP
PHP常用工具类大全附全部代码下载
Dec 07 PHP
PHP+shell脚本操作Memcached和Apache Status的实例分享
Mar 11 PHP
PHP实现通过URL提取根域名
Mar 31 PHP
CI框架入门之MVC简单示例
Nov 21 PHP
laravel 实现根据字段不同值做不同查询
Oct 23 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
快速配置PHPMyAdmin方法
2008/06/05 PHP
php Hex RGB颜色值互换的使用
2013/05/10 PHP
PHP实现上传多文件示例代码
2017/02/20 PHP
PHP实现求解最长公共子串问题的方法
2017/11/17 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
2019/10/10 PHP
Javascript 函数对象的多重身份
2009/06/28 Javascript
jquery 经典动画菜单效果代码
2010/01/26 Javascript
js设置组合快捷键/tabindex功能的方法
2013/11/21 Javascript
JavaScript动态改变表格单元格内容的方法
2015/03/30 Javascript
使用Object.defineProperty实现简单的js双向绑定
2016/04/15 Javascript
JavaScript中三个等号和两个等号的区别(== 和 ===)浅析
2016/09/22 Javascript
javascript数组去重方法分析
2016/12/15 Javascript
JS作用域深度解析
2016/12/29 Javascript
纯js实现倒计时功能
2017/01/06 Javascript
jQuery ajax读取本地json文件的实例
2017/10/31 jQuery
Vuex实现计数器以及列表展示效果
2018/03/10 Javascript
JavaScript对象的特性与实践应用深入详解
2018/12/30 Javascript
TensorFlow.js 微信小程序插件开始支持模型缓存的方法
2020/02/21 Javascript
js实现九宫格抽奖
2020/03/19 Javascript
Angular进行简单单元测试的实现方法实例
2020/08/16 Javascript
nuxt 路由、过渡特效、中间件的实现代码
2020/11/06 Javascript
python中执行shell命令的几个方法小结
2014/09/18 Python
图文详解WinPE下安装Python
2016/05/17 Python
python结合selenium获取XX省交通违章数据的实现思路及代码
2016/06/26 Python
python 打印出所有的对象/模块的属性(实例代码)
2016/09/11 Python
基于pytorch的保存和加载模型参数的方法
2019/08/17 Python
Python 转换文本编码实现解析
2019/08/27 Python
git查看、创建、删除、本地、远程分支方法详解
2020/02/18 Python
澳大利亚在线购买儿童玩具:Toy Universe
2017/12/28 全球购物
奇怪的鱼:Weird Fish
2018/03/18 全球购物
什么是命名空间(NameSpace)
2015/11/24 面试题
高级护理实习生自荐信
2013/09/28 职场文书
幼儿园课题方案
2014/06/09 职场文书
教室布置标语
2014/06/26 职场文书
行政主管岗位职责范本
2015/04/09 职场文书
鉴史问廉观后感
2015/06/10 职场文书