完美的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
一个简单的MySQL数据浏览器
Oct 09 PHP
PHP+DBM的同学录程序(3)
Oct 09 PHP
smarty+adodb+部分自定义类的php开发模式
Dec 31 PHP
兼容性最强的PHP生成缩略图的函数代码(修改版)
Jan 18 PHP
给初学者的30条PHP最佳实践(荒野无灯)
Aug 02 PHP
PHP实现微信网页授权开发教程
Jan 19 PHP
详解WordPress中添加友情链接的方法
May 21 PHP
php使用pdo连接sqlite3的配置示例
May 27 PHP
php微信公众号开发之二级菜单
Oct 20 PHP
PHP实现会员账号单唯一登录的方法分析
Mar 07 PHP
解决laravel session失效的问题
Oct 14 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
linux下 C语言对 php 扩展
2008/12/14 PHP
PHP间隔一段时间执行代码的方法
2014/12/02 PHP
php文件操作之小型留言本实例
2015/06/20 PHP
PHP+iframe模拟Ajax上传文件功能示例
2019/07/02 PHP
Laravel6.0.4中将添加计划任务事件的方法步骤
2019/10/15 PHP
JS查看对象功能代码
2008/04/25 Javascript
js option删除代码集合
2008/11/12 Javascript
js实现权限树的更新权限时的全选全消功能
2009/02/17 Javascript
Jquery中增加参数与Json转换代码
2009/11/20 Javascript
javascript Event对象详解及使用示例
2013/11/22 Javascript
javascript中的undefined和not defined区别示例介绍
2014/02/26 Javascript
javascript实现网站加入收藏功能
2015/12/16 Javascript
javascript正则表达式之分组概念与用法实例
2016/06/16 Javascript
Javascript6中字符串的四个新用法分享
2016/09/11 Javascript
简单实现js倒计时功能
2017/02/13 Javascript
JavaScript数组push方法使用注意事项
2017/10/30 Javascript
layui原生表单验证的实例
2019/09/09 Javascript
Vue学习笔记之计算属性与侦听器用法
2019/12/07 Javascript
Python的randrange()方法使用教程
2015/05/15 Python
python实现写数字文件名的递增保存文件方法
2018/10/25 Python
django创建简单的页面响应实例教程
2019/09/06 Python
Python修改列表值问题解决方案
2020/03/06 Python
[原创]赚疯了!转手立赚800+?大佬的python「抢茅台脚本」使用教程
2021/01/12 Python
使用pandas读取表格数据并进行单行数据拼接的详细教程
2021/03/03 Python
解决HTML5中滚动到底部的事件问题
2019/08/22 HTML / CSS
澳大利亚家具和家居用品在线商店:Interiors Online
2018/03/05 全球购物
King Apparel官网:英国街头服饰品牌
2019/09/05 全球购物
瑞典耳机品牌:URBANISTA
2019/12/03 全球购物
澳大利亚女装精品店:Alannah Hill
2020/07/29 全球购物
指针和引用有什么区别
2013/01/13 面试题
酒店经理职责
2014/01/30 职场文书
医院信息公开实施方案
2014/05/09 职场文书
班组建设经验交流材料
2014/05/12 职场文书
2015年高校就业工作总结
2015/05/04 职场文书
银行柜员优质服务心得体会
2016/01/22 职场文书
教你使用Jenkins集成Harbor自动发布镜像
2022/04/03 Servers