完美的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 相关文章推荐
基于mysql的bbs设计(二)
Oct 09 PHP
树型结构列出指定目录里所有文件的PHP类
Oct 09 PHP
解析php二分法查找数组是否包含某一元素
May 23 PHP
php二维数组排序详解
Nov 06 PHP
Smarty局部缓存的几种方法简介
Jun 17 PHP
windows下配置apache+php+mysql时出现问题的处理方法
Jun 20 PHP
php常用的安全过滤函数集锦
Oct 09 PHP
使用PHP实现阻止用户上传成人照片或者裸照
Dec 25 PHP
PHP实现Javascript中的escape及unescape函数代码分享
Feb 10 PHP
PHP传参之传值与传址的区别
Apr 24 PHP
PHP中使用foreach()遍历二维数组的简单实例
Jun 13 PHP
php实现数组纵向转横向并过滤重复值的方法分析
May 29 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 类型转换函数intval
2009/06/20 PHP
PHP正则验证Email的方法
2015/06/15 PHP
PHPstorm启用自动换行的方法详解(IDE)
2020/09/17 PHP
Jquery在IE7下无法使用 $.ajax解决方法
2009/11/11 Javascript
Whatever:hover 无需javascript让IE支持丰富伪类
2010/06/29 Javascript
Javascript中的for in循环和hasOwnProperty结合使用
2013/06/05 Javascript
使用jQuery中的when实现多个AJAX请求对应单个回调的例子分享
2014/04/23 Javascript
在HTML中插入JavaScript代码的示例
2015/06/03 Javascript
跟我学习javascript的闭包
2015/11/16 Javascript
JSP基于Bootstrap分页显示实例解析
2016/06/12 Javascript
微信小程序 数组(增,删,改,查)等操作实例详解
2017/01/05 Javascript
WebView启动支付宝客户端支付失败的问题小结
2017/01/11 Javascript
vue子父组件通信的实现代码
2017/07/09 Javascript
Angular学习教程之RouterLink花式跳转
2018/05/03 Javascript
详解javascript中的变量提升和函数提升
2018/05/24 Javascript
vue-cli3 DllPlugin 提取公用库的方法
2019/04/24 Javascript
Node.js实现用户评论社区功能(体验前后端开发的乐趣)
2019/05/09 Javascript
el-select 下拉框多选实现全选的实现
2019/08/02 Javascript
python实现自动更换ip的方法
2015/05/05 Python
python 将数据保存为excel的xls格式(实例讲解)
2018/05/03 Python
Python实用工具FuckIt.py介绍
2019/07/02 Python
Python PO设计模式的具体使用
2019/08/16 Python
使用Python和百度语音识别生成视频字幕的实现
2020/04/09 Python
解决Python安装cryptography报错问题
2020/09/03 Python
python实现三种随机请求头方式
2021/01/05 Python
CSS3的Flexbox布局的简明入门指南
2016/04/08 HTML / CSS
德国户外装备、登山运动和攀岩商店:tapir store
2020/02/12 全球购物
法律进企业活动方案
2014/03/04 职场文书
园艺专业毕业生求职信
2014/09/02 职场文书
公安派出所所长四风问题个人对照检查材料
2014/10/04 职场文书
人民调解协议书范本
2014/10/11 职场文书
信仰观后感
2015/06/03 职场文书
导游词之临安白水涧
2019/11/05 职场文书
pytorch 实现在测试的时候启用dropout
2021/05/27 Python
使用Vue3+Vant组件实现App搜索历史记录功能(示例代码)
2021/06/09 Vue.js
Win11运行cmd提示“请求的操作需要提升”的两种解决方法
2022/07/07 数码科技