PHP mb_convert_encoding 获取字符串编码类型实现代码
后来又在手册上找到了is_utf8函数,这样,再结合iconv函数,我的问题就解决了。下面帖出这个函数:
function is_utf8($string) {
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 is_utf8
如果想深入研究,建议看下PHP手册上的“Multibyte String Functions”这一部分的内容。
相关推荐
-
浅析PHP中的字符串编码转换(自动识别原编码)
复制代码 代码如下: /** * 对数据进行编码转换 * @param array/string $data 数组 * @param string $output 转换后的编码 */function array_iconv($data,$output = 'utf-8') { $encode_arr = array('UTF-8','ASCII','GBK','GB2312','BIG5','JIS','eucjp-win','sjis-win','EUC-JP'); $enc
-
php自动获取字符串编码函数mb_detect_encoding
当在php中使用mb_detect_encoding函数进行编码识别时,很多人都碰到过识别编码有误的问题,例如对与GB2312和UTF- 8,或者UTF-8和GBK(这里主要是对于cp936的判断),网上说是由于字符短是,mb_detect_encoding会出现误判. 例如: 复制代码 代码如下: $encode = mb_detect_encoding($keytitle, array("ASCII",'UTF-8′,"GB2312′,"GBK",'B
-
php 转换字符串编码 iconv与mb_convert_encoding的区别说明
iconv - Convert string to requested character encoding(PHP 4 >= 4.0.5, PHP 5) mb_convert_encoding - Convert character encoding(PHP 4 >= 4.0.6, PHP 5) 用法: string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] ) 需要先启用 mbs
-
php 判断字符串编码是utf-8 或gb2312实例
php 判断字符串编码是utf-8 或gb2312 第一种方法: function is_gb2312($str) { for($i=0; $i<strlen($str); $i++) { $v = ord( $str[$i] ); if( $v > 127) { if( ($v >= 228) && ($v <= 233) ) { if( ($i+2) >= (strlen($str) - 1)) return true; // not enough cha
-
PHP 字符串编码截取函数(兼容utf-8和gb2312)
复制代码 代码如下: //截取字符串长度.支持utf-8和gb2312编码.若为gb2312,先将其转为utf-8,在utf-8的基础上截取然后再转换回来 function cut_string($str,$from=1,$length=10,$code='utf-8',$rear='...'){ if($code!='utf-8'){//总是将字符串转为utf-8编码 $str=iconv($code,'utf-8',$str); } $str_len=
-
PHP学习笔记之字符串编码的转换和判断
复制代码 代码如下: iconv('GBK', 'UTF-8//IGNORE', '我们'); // 将字符串由 GBK 编码转换为 UTF-8 编码 但 iconv 只能解决编码预先知道的情况,如果字符串编码未知,则需要先探测其编码,这时可能会用到 mb_string 扩展库: 复制代码 代码如下: mb_detect_encoding('我们'); 可是 mb_detect_encoding 存在一个硬伤,经常出现判断不准确的情况.或许这样就可以解决: 复制代码 代码如下: // 使用 ic
-
PHP mb_convert_encoding 获取字符串编码类型实现代码
后来又在手册上找到了is_utf8函数,这样,再结合iconv函数,我的问题就解决了.下面帖出这个函数: 复制代码 代码如下: function is_utf8($string) { return preg_match('%^(?: [\x09\x0A\x0D\x20-\x7E] # ASCII | [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte | \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs | [
-
Python判断文件和字符串编码类型的实例
python判断文件和字符串编码类型可以用chardet工具包,可以识别大多数的编码类型.但是前几天在读取一个Windows记事本保存的txt文件时,GBK却被识别成了KOI8-R,无解. 然后就自己写了个简单的编码识别方法,代码如下: coding.py # 说明:UTF兼容ISO8859-1和ASCII,GB18030兼容GBK,GBK兼容GB2312,GB2312兼容ASCII CODES = ['UTF-8', 'UTF-16', 'GB18030', 'BIG5'] # UTF-8 B
-
python 获取网页编码方式实现代码
python 获取网页编码方式实现代码 <span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">
-
C语言根据协议分割获取字符串单元的实现代码
协议做如下规定: 规定数据协议: 序列号 长度 状态字 数据长度 数据1 数据2 数据3 以空格作为数据单元. ep: 00001 00007 1 3 34567 26358 32698 (1) (2) (3)(4) (5) (6) (7) 如ep所示: (1)00001就是数字1,即代表序列号为1 (2)00007就是数字7,即代表长度为7 (3)1代表状态字 (4)3代表数字长度 (5)34567代表数据1 (6)26358代表数据2 (7)32698代表数据3 这
-
c#获取字符串宽度的示例代码(字节数方法)
复制代码 代码如下: /**//// /// /// /// /// /// private ArrayList GetSeparateSubString(string mOrigianlString, int subStringCharNumber) { ArrayList resultList = new ArrayList(); string tempStr = mOrigianlString; int charNumber = subStringCharNumber;
-
JavaScript 页面编码与浏览器类型判断代码
获取页面的编码,如果是IE浏览器用document.charset即可获取,如果用firefox需要用document.characterSet获取. 复制代码 代码如下: function getPageCharset(){ var charSet = ""; var oType = getBrowser(); switch(oType){ case "IE": charSet = document.charset; break; case "FIREF
-
基于Snoopy的PHP近似完美获取网站编码的代码
先要到网上下载Snoopy.class.php 调用方法: 复制代码 代码如下: <?php require 'lib/Snoopy.class.php'; require 'lib/WebCrawl.class.php';//包含下面代码 $go=new WebCrawl('http://www.baidu.com'); echo $go->getCharset(); ?> 复制代码 代码如下: <?php class WebCrawl { private $url; priva
-
asp.net中C#获取字符串中汉字的个数的具体实现方法
符串可以包括数字,字母,汉字或者其他的字符.使用Char类型的IsDigit静态方法可以判断字符串中的字符是否为数字,使用Char类型中的IsLetter静态方法可以判断字符串中是否为字母.我们来实现一种方法来实现判断字符串中是否为汉字,通过此方法可以计算字符串中汉字的个数,运行效果如图: 首先根据效果图设置好Form的界面和内容,Box1.Text为输入的字符串,我们对该字符串的处理,来计算汉字的个数,双击Buton控件,编辑其单击事件代码. 我们看下汉字的Unicode范围,普遍给出了0x4
-
python编码总结(编码类型、格式、转码)
本文详细总结了python编码.分享给大家供大家参考,具体如下: [所谓unicode] unicode是一种类似于符号集的抽象编码,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储.也就是它只是一种内部表示,不能直接保存.所以存储时需要规定一种存储形式,比如utf-8和utf-16等.理论上unicode是一种能够容纳全世界所有语言文字的编码方案.(其他编码格式不再多说) [所谓GB码] GB就是"国标"的意思,即:中华人民共和国国家标准.GB码是面向汉字的编码,包括
随机推荐
- 详解AngularJS中的表单验证(推荐)
- javascript中错误使用var造成undefined
- JVM加载一个类的过程
- PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析
- 深入理解Javascript中的循环优化
- 简单的抓取淘宝图片的Python爬虫
- 详细解读Python的web.py框架下的application.py模块
- js实现图片上传预览原理分析
- JS实现鼠标点击展开或隐藏表格行的方法
- 屏蔽端口的vbs脚本
- freetds简介、安装、配置及使用介绍
- Sql Injection in DB2数据库
- java用户管理注册功能 含前后台代码
- jQuery EasyUI常用数据验证汇总
- document.write的几点使用心得
- Egret引擎开发指南之编译项目
- Win2003下安装PHP5.2.0+MySql5.0.27+PHPMyAdmin2.9.1的配置方法
- 探讨Hessian在PHP中的使用分析
- C#泛型用法实例分析
- Kotlin在Android工程中的应用详解