【php中utf-8编码解决十法】教程文章相关的互联网学习教程文章

PHP对GB编码动态转UTF-8几种方法评测_PHP教程

在《IP地址->地理位置转换的测评》一文中提到用ip2addr函数直接读取IP数据库文件是效率最高的,相比用MySQL数据库存储IP数据,用SQL查询是效率最低的。但是IP数据库文件QQWry.dat是GB2312编码的。现在我需要UTF-8编码的地理位置结果。如果用MySQL方法,可以在数据存入数据库时就转换为UTF-8编码,一劳永逸。但是QQWry.dat文件又无法修改,只能把ip2addr函数的输出结果再进行动态转换。动态转换GB->UTF-8编码至少有四种方法:用PHP的...

PHP正则判断中文UTF-8或GBK的思路及具体实现_PHP教程

UTF-8匹配: 在javascript中,要判断字符串是中文是很简单的。比如: 代码如下:var str = "php编程"; if (/^[\u4e00-\u9fa5]+$/.test(str)) { alert("该字符串全部是中文"); }else{ alert("该字符串不全部是中文"); } //php中,是用\x表示十六进制数据的。于是,变换成如下的代码: $str = "php编程"; if (preg_match("/^[\x4e00-\x9fa5]+$/",$str)) { print("该字符串全部是中文"); } else { print("该字符串不全部是中文"); } 貌...

Php引用文件引起的空白行问题(UTF-8)_PHP教程

可能会有不少人碰到在php中如果是utf8编码我们导入文件时会出现空白行的问题,下面我来给各位同学介绍引用文件空白行的解决办法。引用文件指的是include、require_once引用其它文件引起的空白行 这其实是你用记事本编辑UTF-8文件以后,虽然你还是保存为UTF-8格式,但系统会自动给文件加两个bom标记,但是ie只能忽略一个,另一个就是空白行了。 解决办法就是: 不要用记事本去编辑UTF-8文件,要用其它工具,比Dreamw、EmEditor 、Vi...

PHP正确解析UTF-8字符串_PHP教程

PHP正确解析UTF-8字符串有需要的朋友可参考一下。 代码如下 $str = 今天非常Happy,所有决定去KFC吃可乐鸡翅!!!; /* $str 是待截取的字符串 $len 是截取的字符数 */ function utf8sub($str,$len) {if($len <= 0){return ;}$offset = 0; // 截取高位字节时的偏移量$chars = 0; // 截取到的字符数$res = ; // 存放截取的结果字符串while($chars < $len){// 先取字符串的第一个字节// 将它转为十进制// 再转为二进制$high = ord(su...

php正则匹配gb2312和utf-8中文_PHP教程

$action = trim($_get['action']); if($action == "sub") { $str = $_post['dir']; //if(!preg_match("/^[".chr(0xa1)."-".chr(0xff)."a-za-z0-9_]+$/",$str)) //gb2312汉字字母数字下划线正则表达式 if(!preg_match("/^[x{4e00}-x{9fa5}a-za-z0-9_]+$/u",$str)) //utf-8汉字字母数字下划线正则表达式 {echo "您输入的[".$str."]含有违法字符"; } else {echo "您输入的[".$str."]完全合法,通过!"; } } ?>http://www.bkjia.com/PHPj...

检测与删除页面BOM(UTF-8)空行方法_PHP教程【图】

我们经常会在发现页面中无故多了一些空白行了,但在编辑器中又看到到,这个我们知道是由BOM(UTF-8)导致的,下面小编来给大家分享几种关于BOM(UTF-8)检测与删除方法。下图是出现前面说的情况后用firebug看到的HTML代码。图1里面莫名其妙多出了一个空白行,而我们看源代码里面却没有。我最常用的办法,利用php替换 BOM: 万国码档案签名 BOM (Byte Order Mark, U+FEFF) BOM 的内容可以表示 UNICODE 是哪种编码, 但是在接收到的档案, 要...

PHP判断字符串编码是否为utf-8的程序代码_PHP教程

本文章来给各位同学介绍一下关于PHP判断字符串编码是否为utf-8的程序代码,如果你有兴趣不防进入参考。我们以前常用mb_detect_encoding()此函数检测字符编码代码如下//判断字符串是什么编码 if ($tag === mb_convert_encoding(mb_convert_encoding($tag, "GB2312", "UTF-8"), "UTF-8", "GB2312")) { } else {//如果是gb2312 的就转换为utf8的 $tag = mb_convert_encoding($tag, UTF-8, GB2312); }$keytitle = “%D0%BE%C6%AC”;时。...

php检测是否为utf-8还是gb2312编码_PHP教程

在php中检测字符串编码的方法有很多,最常用的就是直接使用mb_detect_encoding函数了,但还有更高级的办法就是使用字符的ascii值来判断哦。例1代码如下 function is_utf8($str) { $c=0; $b=0; $bits=0; $len=strlen($str); for($i=0; $i<$len; $i++){ $c=ord($str[$i]); if($c > 128){ if(($c >= 254)) return false; elseif($c >= 252) $bits=6; elseif($c >= 248) $bits=5; elseif($c >= 240) $bits=4; elseif($c >= 224) $bits...

PHP字符截取函数,兼容各类gbk,utf-8编码

在PHP中字符截取函数substr只能截取全英文才不会出现乱码如果里面有中文肯定是无法截取的,下面小编来给大家介绍两个兼容各类gbk,utf-8编码字符串截取函数例1function CsubStrPro($str, $start, $length, $charset = "utf-8", $suffix = false) {if (function_exists ( "mb_substr" ))return mb_substr ( $str, $start, $length, $charset );$re [utf-8] = "/[x01-x7f]|[xc2-xdf][x80-xbf]|[xe0-xef][x80-xbf]{2}|[xf0-xff][x80-xb...

趣谈unicode,ansi,utf-8,unicodebigendian这些编码有什么区别_PHP教程

<span 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为"字节"。 <span <span 再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去。他们看到这样是好的,于是它们就这机器称为"计算机"。 <span 开始计算机只在美国用。八位的字节一共可以组合出256(2的8次方)种不同的状态。 <s...

PHP批量删除、清除UTF-8文件BOM头的代码实例_PHP教程

记得运行代码前先把文件备份一下哦,避免出现失败问题。代码一: 代码如下: function checkBOM ($filename) { global $auto; $contents = file_get_contents($filename); $charset[1] = substr($contents, 0, 1); $charset[2] = substr($contents, 1, 1); $charset[3] = substr($contents, 2, 1); if (ord($charset[1]) == 239 && ord($charset[2]) == 187 && ord($charset[3]) == 19...

php自动识别文件编码并转换为UTF-8的方法_PHP教程

PHP转换文件编码是一个比较简单的事情,但是在开发中传递中文参数的时候,有时候不知道是什么编码,结果造成了乱码的现象。这里有个非常方便的解决办法,可以自动识别编码并转换为UTF-8。具体代码如下:代码如下:function characet($data){ if( !empty($data) ){ $fileType = mb_detect_encoding($data , array(UTF-8,GBK,LATIN1,BIG5)) ; if( $fileType != UTF-8){ $data = mb_convert_encoding($data ,utf...

支持生僻字且自动识别utf-8编码的php汉字转拼音类_PHP教程

拼音类文件py_class.php源码如下: <?php class py_class{ function py_class(){ $this -> pinyin = array( "a" => array(59371, 41648, 50400, 33157, 41392, 18661, 47599), "ai" => array(19697, 32178, 35504, 36856, 20712, 25068, 28663, 26608, 29399, 19381, 17099, 47497, 30339, 43240, 54250, 56459, 45201, 25005, 57749, 17131, 36057, 28596, 49375, 29162, 55685, 31713, 27114, 64665, 19190, 56536, 37508, 2214...

完美的2个php检测字符串是否是utf-8编码函数分享,字符串utf-8_PHP教程

完美的2个php检测字符串是否是utf-8编码函数分享,字符串utf-8 在php开发中有时候会用到转码函数,比如iconv(),mb_convert_encoding()函数,在用函数转码的时候或者解码的时候我们有时候需要先判断当前字符串编码类型,不如是否是utf-8编码,是的话然后进行编码转换等操作。下面是小编整理的目前web开发中网上使用率比较高的、好的php关于UTF-8编码的判断函数,代码如下:function is_utf8($string) //函数一 { // From http://w3.o...

php中隐形字符65279(utf-8的BOM头)问题,65279bom_PHP教程

php中隐形字符65279(utf-8的BOM头)问题,65279bom 今天在CSDN看到一个php输出空白隐形字符65279的问题,在网上找了下,发下这个65279字符是php用来标记文件是utf-8编码的,输出的时候会一起输出到客户端,导致客户端如果使用ajax得到返回值时,无法匹配字符串。 php隐形字符65279解释如下: UTF-8 编码的文件可以分为无 BOM 和 BOM 两种格式。 何谓BOM?"EF BB BF" 这三个字节就叫BOM,全称是"Byte Order Mard"。在utf8文件中常用...