完美的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安全编程之加密功能
Oct 09 PHP
执行、获取远程代码返回:file_get_contents 超时处理的问题详解
Jun 25 PHP
解析PHP中的内存管理,PHP动态分配和释放内存
Jun 28 PHP
PHP+Ajax检测用户名或邮件注册时是否已经存在实例教程
Aug 23 PHP
php序列化函数serialize() 和 unserialize() 与原生函数对比
May 08 PHP
PHP中类的继承和用法实例分析
May 24 PHP
smarty的section嵌套循环用法示例
May 28 PHP
php mysql操作mysql_connect连接数据库实例详解
Dec 26 PHP
PHP静态成员变量
Feb 14 PHP
php mysql PDO 查询操作的实例详解
Sep 23 PHP
PHP实现微信小程序人脸识别刷脸登录功能
May 24 PHP
Thinkphp 框架基础之入口文件功能、定义与用法分析
Apr 27 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 配置文件中open_basedir选项作用
2009/07/19 PHP
浅析php变量修饰符static的使用
2013/06/28 PHP
Php header()函数语法及使用代码
2013/11/04 PHP
PHP中IP地址与整型数字互相转换详解
2014/08/20 PHP
thinkphp实现上一篇与下一篇的方法
2014/12/08 PHP
php保存任意网络图片到服务器的方法
2015/04/14 PHP
PHP实现根据密码长度显示安全条
2017/07/04 PHP
Javascript打印网页部分内容的脚本
2008/11/17 Javascript
7款吸引人眼球的jQuery/CSS3特效实例分享
2013/04/25 Javascript
javascript验证上传文件的类型限制必须为某些格式
2013/11/14 Javascript
js style.display=block显示布局错乱问题的解决方法
2016/09/21 Javascript
简单的js计算器实现
2016/10/26 Javascript
Vue.js实例方法之生命周期详解
2017/07/03 Javascript
vuejs使用axios异步访问时用get和post的实例讲解
2018/08/09 Javascript
微信小程序实现swiper切换卡内嵌滚动条不显示的方法示例
2018/12/20 Javascript
利用百度echarts实现图表功能简单入门示例【附源码下载】
2019/06/10 Javascript
layui实现数据分页功能
2019/07/27 Javascript
vue项目强制清除页面缓存的例子
2019/11/06 Javascript
python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
2014/02/24 Python
Python中使用Tkinter模块创建GUI程序实例
2015/01/14 Python
Python中的字典遍历备忘
2015/01/17 Python
最大K个数问题的Python版解法总结
2016/06/16 Python
Python Xml文件添加字节属性的方法
2018/03/31 Python
Python实现获取nginx服务器ip及流量统计信息功能示例
2018/05/18 Python
python中计算一个列表中连续相同的元素个数方法
2018/06/29 Python
TensorFlow2.1.0最新版本安装详细教程
2020/04/08 Python
Python中操作各种多媒体,视频、音频到图片的代码详解
2020/06/04 Python
使用Keras预训练好的模型进行目标类别预测详解
2020/06/27 Python
比利时买床:Beter Bed
2017/12/06 全球购物
瑞典手机壳品牌:Richmond & Finch
2018/04/28 全球购物
团员的自我评价
2013/12/01 职场文书
员工保密承诺书
2014/05/28 职场文书
忠诚教育心得体会
2014/09/03 职场文书
运动会报道稿大全
2015/07/23 职场文书
小学教师教育随笔
2015/08/14 职场文书
Django框架模板用法详解
2022/06/10 Python