完美的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网站备份程序代码分享
Jun 10 PHP
在windows平台上构建自己的PHP实现方法(仅适用于php5.2)
Jul 05 PHP
php中用socket模拟http中post或者get提交数据的示例代码
Aug 08 PHP
php基于socket实现SMTP发送邮件的方法
Mar 05 PHP
Yii2简单实现给表单添加验证码的方法
Jul 18 PHP
Mac系统下安装PHP Xdebug
Mar 30 PHP
PHP调用接口用post方法传送json数据的实例
May 31 PHP
阿里云的WindowsServer2016上部署php+apache
Jul 17 PHP
thinkphp集成前端脚手架Vue-cli的教程图解
Aug 30 PHP
php正则表达式使用方法整理集合
Jan 31 PHP
tp5框架前台无限极导航菜单类实现方法分析
Mar 29 PHP
PHP设计模式概论【概念、分类、原则等】
May 01 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一些有意思的小区别
2006/12/06 PHP
用php的ob_start来生成静态页面的方法分析
2011/03/09 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
2011/07/03 PHP
解析php函数method_exists()与is_callable()的区别
2013/06/21 PHP
php旋转图片90度的方法
2013/11/07 PHP
PHP编写RESTful接口的方法
2016/02/21 PHP
jQuery LigerUI 插件介绍及使用之ligerDrag和ligerResizable示例代码打包
2011/04/06 Javascript
鼠标移到导航当前位置的LI变色处于选中状态
2013/08/23 Javascript
jtable列中自定义button示例代码
2013/11/21 Javascript
JS实现DIV容器赋值的方法
2015/12/14 Javascript
Vue.js第四天学习笔记(组件)
2016/12/02 Javascript
jQuery EasyUI 页面加载等待及页面等待层
2017/02/06 Javascript
Angular 2父子组件数据传递之局部变量获取子组件其他成员
2017/07/04 Javascript
js console.log打印对象时属性缺失的解决方法
2019/05/23 Javascript
vue项目打包后怎样优雅的解决跨域
2019/05/26 Javascript
vue实现中部导航栏布局功能
2019/07/30 Javascript
微信小程序 动态修改页面数据及参数传递过程详解
2019/09/27 Javascript
p5.js绘制创意自画像
2019/11/04 Javascript
js实现中文实时时钟
2020/01/15 Javascript
Vue中多元素过渡特效的解决方案
2020/02/05 Javascript
Python新手实现2048小游戏
2015/03/31 Python
Python通过命令开启http.server服务器的方法
2017/11/04 Python
python之matplotlib学习绘制动态更新图实例代码
2018/01/23 Python
python使用KNN算法手写体识别
2018/02/01 Python
python ddt实现数据驱动
2018/03/14 Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
2018/12/26 Python
Python 自动登录淘宝并保存登录信息的方法
2019/09/04 Python
彪马美国官网:PUMA美国
2017/03/09 全球购物
德国童装购物网站:NICKI´S.com
2018/04/20 全球购物
二手房购房意向书范本
2014/04/01 职场文书
实习单位评语
2014/04/26 职场文书
校园学雷锋广播稿
2014/10/08 职场文书
2015年教师党员承诺书
2015/04/27 职场文书
大国崛起日本观后感
2015/06/02 职场文书
忠犬八公的故事观后感
2015/06/05 职场文书
月考总结与反思
2015/10/22 职场文书