完美的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
PHP parse_url 一个好用的函数
Oct 03 PHP
将文件夹压缩成zip文件的php代码
Dec 14 PHP
PHP 遍历文件实现代码
May 04 PHP
PHP性能优化 产生高度优化代码
Jul 22 PHP
php截取中文字符串不乱码的方法
Dec 25 PHP
PHP使用get_headers函数判断远程文件是否存在的方法
Nov 28 PHP
验证坐标在某坐标区域内php代码
Oct 08 PHP
thinkphp利用模型通用数据编辑添加和删除的实例代码
Nov 20 PHP
yii2利用自带UploadedFile实现上传图片的示例
Feb 16 PHP
PHP字典树(Trie树)定义与实现方法示例
Oct 09 PHP
PHP的重载使用魔术方法代码实例详解
Feb 26 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 和 XML: 使用expat函数(二)
2006/10/09 PHP
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
2009/04/24 PHP
php 字符串函数收集
2010/03/29 PHP
gd库图片下载类实现下载网页所有图片的php代码
2012/08/20 PHP
php的crc32函数使用时需要注意的问题(不然就是坑)
2015/04/21 PHP
php判断对象是派生自哪个类的方法
2015/06/20 PHP
使用PHPUnit进行单元测试并生成代码覆盖率报告的方法
2019/03/08 PHP
[Web]防止用户复制页面内容和另存页面的方法
2009/02/06 Javascript
jquery radio 操作代码
2011/03/16 Javascript
js 3秒后跳转页面的实现代码
2014/03/10 Javascript
node.js中的http.response.getHeader方法使用说明
2014/12/14 Javascript
jQuery中fadeOut()方法用法实例
2014/12/24 Javascript
jQuery事件绑定与解除绑定实现方法
2015/04/15 Javascript
JavaScript中this的9种应用场景及三种复合应用场景
2015/09/12 Javascript
使用jQuery UI库开发Web界面的简单入门指引
2016/04/22 Javascript
jquery自定义插件——window的实现【示例代码】
2016/05/06 Javascript
浅谈jquery中使用canvas的问题
2016/10/10 Javascript
setTimeout时间设置为0详细解析
2018/03/13 Javascript
layui实现文件或图片上传记录
2018/08/28 Javascript
vue+iview/elementUi实现城市多选
2019/03/28 Javascript
浅谈layer弹出层按钮颜色修改方法
2019/09/11 Javascript
使用Python对Csv文件操作实例代码
2017/05/12 Python
django开发教程之利用缓存文件进行页面缓存的方法
2017/11/10 Python
python实现小球弹跳效果
2019/05/10 Python
opencv 图像腐蚀和图像膨胀的实现
2020/07/07 Python
虚拟机下载python是否需要联网
2020/07/27 Python
基于ccs3的timeline时间线实现方法
2020/04/30 HTML / CSS
Silk’n激光脱毛器官网:silkn.com
2016/10/06 全球购物
Shein英国:女性时尚网上商店
2019/04/10 全球购物
小学生自我评价范例
2013/09/24 职场文书
高中自我鉴定
2013/12/20 职场文书
信访工作者先进事迹
2014/01/17 职场文书
企业口号大全
2014/06/12 职场文书
2014年秋季开学典礼主持词
2014/08/02 职场文书
Python超简单容易上手的画图工具库推荐
2021/05/10 Python
Python字典和列表性能之间的比较
2021/06/07 Python