php+检测字符集,php测试代码_php 检测字符编码代码
摘要 腾兴网为您分享:php 检测字符编码代码,掌上电力,云南移动,悦作业,银行帮等软件知识,以及秒赚钥匙,hedit,飞秋2015,电竞大师,我的世界浩方电竞平台,佳能ts9020驱动,哈佛商业评论,小米小说,x903,csdn,差旅报销单模板,医保自查报告范文,dm123,电脑短视频,拍拍网今日特价等软件it资讯,欢迎关注腾兴网。blockquote function utf8_gb2312($str, $default = 'gb2312') { $str = preg_replace(/[x01-x7f] /, , $str); if (empty($str)) return $default; $preg = array( gb2312 = /^([xa1-xf7][xa0-xfe]) $/, //正则判断是否是gb2312 utf-8 = /^[x{4e00}-x{...
function utf8_gb2312($str, $default = 'gb2312')
{
$str = preg_replace("/[x01-x7f] /", "", $str);
if (empty($str)) return $default;
$preg = array(
"gb2312" => "/^([xa1-xf7][xa0-xfe]) $/", //正则判断是否是gb2312
"utf-8" => "/^[x{4e00}-x{9fa5}] $/u", //正则判断是否是汉字(utf8编码的条件了),这个范围实际上已经包含了繁体中文字了
);
if ($default == 'gb2312') {
$option = 'utf-8';
} else {
$option = 'gb2312';
}
if (!preg_match($preg[$default], $str)) {
return $option;
}
$str = @iconv($default, $option, $str);
//不能转成 $option, 说明原来的不是 $default
if (empty($str)) {
return $option;
}
默认编码是gb2312,而且我统计了一下,90%的情况下都是gb2312,所以,我的检测函数不能出现本来是gb2312的,结果被检测出utf8. 基本思路是:
1. 把所有的ascii去掉,如果全部都是ascii,那么就是gb2312。
2. 假设这个字符串是gb2312,用一个正则检查它是否是真的gb2312,如果不是,那么就是utf-8
3. 然后,用iconv 把字符串转换成utf8,如果转换不成功,那么原来可能不是真正的一个gb2312编码的字符
(用正则匹配我已经尽量精确,但是,gb2312的编码不是连续的,还是会有空洞),那么最后的编码就是utf-8.
4. 否则就是gb2312 编码
加入这样的检查功能后,在1000个关键字里面,就出现了1个乱码,比以前的近100个关键字乱码少了很多。
相关推荐
php+检测字符集,php测试代码_php 检测字符编码代码相关推荐
- 字符集(Character Set)和字符编码(Character Encoding)
计算机字符编码 字符:是各种文字和符号的总称,包括各个国家的文字,标点符号,图形符号,数字等. 字符集(Character Set.Charset):字符集是多个符号的集合,每个字符集包含的字符个数不 ...
- php 表情 代码_PHP 大量QQ表情代码替换
跳至 [1] [2] [全屏预览]'撇嘴', '[face2.gif]'=>'色', '[face3.gif]'=>'发呆', '[face4.gif]'=>'得意', '[face ...
- 购物车及商品php代码_php购物车代码_php网上商城购物车代码一例
摘要 腾兴网为您分享:php网上商城购物车代码一例,有信,英语字典,携程,网赚招聘等软件知识,以及迅雷vip补丁,全能素描,苏酒门户,inshort视频剪辑,北京地铁高清大图,监控上网,云播搜,维融打 ...
- php怎么写更新代码,留言板代码_php留言板更新代码
摘要 腾兴网为您分享:php留言板更新代码,政务易,小米手环,无忧兼职,同花顺等软件知识,以及中国农技推广app,化学元素周期表高清,杀毒软件2012,汽车票app,艾肯micu驱动,instagra ...
- 计数器代码php,计数器代码_php计数器的简单代码举例
摘要 腾兴网为您分享:php计数器的简单代码举例,自动刷宝,中国人保,知富,优学堂等软件知识,以及互博,e动生命,大采集,bing输入法,一起看地图,万能福利吧,小象嗨tv,精灵宝可梦究极日月,社保, ...
- php mysql删除代码_php删除数据库的代码
php删除数据库的代码是"drop database ;",其中drop命令用于删除数据库,参数"database"的值是指定要删除的数据库名. MySQL 删 ...
- 购物车及商品php代码_php网上商城购物车代码一例
一个包含促销活动的购物车,用到了PHP的zend framework框架. 购物车的数据库设计: 1. id 2. goods_id 商品ID 3. session_id 购物车ID 4. goods ...
- 使用API函数 GetACP 获取Windows系统当前代码页(字符编码)
代码页是字符集编码的别名,也称"内码表",是特定语言的字符集的一张表. 代码页分为两种:一种是ANSI代码页:另一种是OEM代码页. ⑴OEM代码页主要是用于Windows系统中的 ...
- java 默认字符集 iso_第二篇:JAVA字符编码系列二:Unicode,ISO-8859-1,GBK,UTF-8编码及......
1.函数介绍 在Java中,字符串用统一的Unicode编码,每个字符占用两个字节,与编码有关的两个主要函数为: 1)将字符串用指定的编码集合解析成字节数组,完成Unicode-〉charsetNam ...
最新文章
- rpc.ratatd安装过程中遇到的问题
- Maven(九)Eclipse创建Web项目(简单方式)
- linux下后缀为so的文件怎么打开,linux中.so后缀的文件怎么使用啊
- linux搭建lnnp_linux主机安装lnmp详细步骤
- 【转】在WPF中自定义控件
- Web应用安全————多点登录互斥
- springboot 插入返回id_Spring Boot实现分布式微服务开发实战系列(七)
- mysql geometry 维度_使用MySQL的geometry类型处理经纬度距离问题的方法
- 【转】java线程池的原理和机制
- echarts 生成 迁徙图_Echarts地图的迁徙图
- 夜神模拟器调试Android应用程序
- 一文弄懂Spring Cloud的5大核心组件详解:Eureka+Hystrix+Zuul+Ribbon
- 妇产科护理学复习重点
- WinXP去掉桌面图标阴影
- 安卓初学之基准线实战
- js实现几秒倒计时之后自动跳转页面
- 计算机中存储数据最小的单位是什么,计算机中存储数据的最小单位和存储容量的基本单位各是什么?...
- iOS代码实现布局(三)—用CocoaPods导入第三方库Masonry
- Unity 物体移动碰撞抖动(原因和解决方法)
- 工具类|快递物流的订阅与查询