完美的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 相关文章推荐
yii框架源码分析之创建controller代码
Jun 28 PHP
PHP操作数组的一些函数整理介绍
Jul 17 PHP
使用php伪造referer的方法 利用referer防止图片盗链
Jan 20 PHP
PHP的switch判断语句的“高级”用法详解
Oct 01 PHP
php使用MySQL保存session会话的方法
Jun 26 PHP
php+ajax 实现输入读取数据库显示匹配信息
Oct 08 PHP
PHP的Yii框架中View视图的使用进阶
Mar 29 PHP
CI框架实现cookie登陆的方法详解
May 18 PHP
php使用函数pathinfo()、parse_url()和basename()解析URL
Nov 25 PHP
php基于ob_start(ob_gzhandler)实现网页压缩功能的方法
Feb 18 PHP
php字符串过滤strip_tags()函数用法实例分析
Jun 24 PHP
php设计模式之观察者模式定义与用法经典示例
Sep 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
配置支持SSI
2006/11/25 PHP
用PHP实现的随机广告显示代码
2007/06/14 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
2014/06/05 PHP
php实现通用的信用卡验证类
2015/03/24 PHP
详解EventDispatcher事件分发组件
2016/12/25 PHP
PHP使Laravel为JSON REST API返回自定义错误的问题
2018/10/16 PHP
漂亮的仿flash菜单,来自蓝色经典
2006/06/26 Javascript
ext for eclipse插件安装方法
2008/04/27 Javascript
JavaScript 核心参考教程 内置对象
2009/10/13 Javascript
JAVASCRIPT实现的WEB页面跳转以及页面间传值方法
2010/05/13 Javascript
js下通过getList函数实现分页效果的代码
2010/09/17 Javascript
jQuery图片预加载 等比缩放实现代码
2011/10/04 Javascript
jquery remove方法应用详解
2012/11/22 Javascript
JQuery解析HTML、JSON和XML实例详解
2014/03/29 Javascript
一个判断抢购时间是否到达的简单的js函数
2014/06/23 Javascript
使用JS实现jQuery的addClass, removeClass, hasClass函数功能
2014/10/31 Javascript
深入学习jQuery Validate表单验证(二)
2016/01/18 Javascript
本地存储localStorage用法详解
2017/07/31 Javascript
Thinkphp5微信小程序获取用户信息接口的实例详解
2017/09/26 Javascript
vue-cli初始化项目中使用less的方法
2018/08/09 Javascript
vue-cli项目修改文件热重载失效的解决方法
2018/09/19 Javascript
nodejs微信开发之接入指南
2019/03/17 NodeJs
Vant Weapp组件踩坑:picker的初始赋值解决
2020/11/12 Javascript
python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法
2019/07/11 Python
python判断变量是否为列表的方法
2020/09/17 Python
python基于openpyxl生成excel文件
2020/12/23 Python
HTML5 manifest离线缓存的示例代码
2018/08/08 HTML / CSS
招聘单位介绍信
2014/01/14 职场文书
电工工作职责范本
2014/02/22 职场文书
如何写自我鉴定
2014/03/19 职场文书
财务会计专业自荐书
2014/06/30 职场文书
员工拾金不昧表扬稿
2015/05/05 职场文书
春节晚会开场白
2015/05/29 职场文书
教师听课学习心得体会
2016/01/15 职场文书
2016党员读书思廉心得体会
2016/01/23 职场文书
Golang数据类型和相互转换
2022/04/12 Golang