完美的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的十大要点(上)
Feb 04 PHP
php的一些小问题
Jul 03 PHP
php运行出现Call to undefined function curl_init()的解决方法
Nov 02 PHP
自己写的兼容低于PHP 5.5版本的array_column()函数
Oct 24 PHP
Zend Framework动作助手FlashMessenger用法详解
Mar 05 PHP
PHP函数checkdnsrr用法详解(Windows平台用法)
Mar 21 PHP
PHP.vs.JAVA
Apr 29 PHP
Zend Framework数据库操作方法实例总结
Dec 11 PHP
PHP中$GLOBALS与global的区别详解
Mar 21 PHP
解决laravel 表单提交-POST 异常的问题
Oct 15 PHP
PHP pthreads v3下worker和pool的使用方法示例
Feb 21 PHP
php字符串倒叙
Apr 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
coreseek 搜索英文的问题详解
2013/06/08 PHP
PHP在弹框中获取foreach中遍历的id值并传递给地址栏
2017/06/13 PHP
PHP cURL获取微信公众号access_token的实例
2018/04/28 PHP
Alliance vs Liquid BO3 第三场2.13
2021/03/10 DOTA
jquery判断单个复选框是否被选中的代码
2009/09/03 Javascript
jQuery-ui中自动完成实现方法
2010/06/10 Javascript
jsvascript图像处理—(计算机视觉应用)图像金字塔
2013/01/15 Javascript
JS创建对象几种不同方法详解
2016/03/01 Javascript
JS 根据子网掩码,网关计算出所有IP地址范围示例
2020/04/23 Javascript
jQuery+CSS3实现四种应用广泛的导航条制作实例详解
2016/09/17 Javascript
使用BootStrap实现表格隔行变色及hover变色并在需要时出现滚动条
2017/01/04 Javascript
详解如何在react中搭建d3力导向图
2018/01/12 Javascript
webpack4 + react 搭建多页面应用示例
2018/08/03 Javascript
jQuery表单选择器用法详解
2019/08/22 jQuery
详解简单易懂的 ES6 Iterators 指南和示例
2019/09/24 Javascript
vue.config.js中配置Vue的路径别名的方法
2020/02/11 Javascript
详解Vue中的MVVM原理和实现方法
2020/07/15 Javascript
python生成密码字典的方法
2018/07/06 Python
Python调用C++,通过Pybind11制作Python接口
2018/10/16 Python
Python实现定制自动化业务流量报表周报功能【XlsxWriter模块】
2019/03/11 Python
解决pycharm运行程序出现卡住scanning files to index索引的问题
2019/06/27 Python
Python aiohttp百万并发极限测试实例分析
2019/10/26 Python
python实现简单井字棋小游戏
2020/03/05 Python
python实现定时发送邮件
2020/12/23 Python
python 实现Requests发送带cookies的请求
2021/02/08 Python
利用css3实现的简单的鼠标悬停按钮
2014/11/04 HTML / CSS
CSS3实现时间轴特效
2020/11/02 HTML / CSS
Armor Lux法国官方网站:水手服装、成衣和内衣
2020/05/26 全球购物
外企求职信范文分享
2013/12/31 职场文书
商场客服专员岗位职责
2014/06/13 职场文书
文明社区申报材料
2014/08/21 职场文书
搞笑婚前保证书
2015/02/28 职场文书
2016春季运动会通讯稿
2015/07/18 职场文书
企业年会祝酒词
2015/08/11 职场文书
忘记Grafana不要紧2种Grafana重置admin密码方法详细步骤
2022/04/07 Servers
nginx静态资源的服务器配置方法
2022/07/07 Servers