【编码问题:明明是utf-8,为何显示响应为gbk呢?】教程文章相关的互联网学习教程文章

PHP截取字符串函数整理(支持gb2312和utf-8)_php技巧

1、截取GB2312字符用的函数 PHP代码 代码如下://截取中文字符串 function mysubstr($str, $start, $len) { $tmpstr = ""; $strlen = $start + $len; for($i = 0; $i if(ord(substr($str, $i, 1)) > 0xa0) { $tmpstr .= substr($str, $i, 2); $i++; } else $tmpstr .= substr($str, $i, 1); } return $tmpstr; } ?> 2. 截取utf8编码的多字节字符串 PHP代码 代码如下://截取utf8字符串 function utf8Substr($str, $from, $len) { ...

PHP解决utf-8和gb2312编码转换问题_php技巧

终于皇天不负有心人,答案还是让我找到了。 网上的都是这样用的 代码如下:$content = iconv("utf-8","gb2312",$content); 这样做其实也对着了,看着确实是把utf-8转化为gb2312了,但是实际运行的话,往往都是以失败告终的,原因呢? 原因实际上也很简单,因为任何的函数都是执行错误的时候,同时很不幸的是iconv();就很终于出现错误。现在给你正确的答案。 真正的答案是这样的 代码如下:$content = iconv("utf-8","gb2312//IGNOR...

php截取utf-8中文字符串乱码的解决方法_php技巧

代码如下:function utf8_substr($str,$len) {   for($i=0;$i  {     $temp_str=substr($str,0,1);     if(ord($temp_str) > 127){       $i++;     if($i      $new_str[]=substr($str,0,3);       $str=substr($str,3);       }     }else {     $new_str[]=substr($str,0,1);     $str=substr($str,1);     }   }   return join($new_str); }

PHPiconv解决utf-8和gb2312编码转换问题_php技巧

终于皇天不负有心人,答案还是让我找到了。 网上的都是这样用的 代码如下:$content = iconv("utf-8","gb2312",$content); 这样做其实也对着了,看着确实是把utf-8转化为gb2312了,但是实际运行的话,往往都是以失败告终的,原因呢? 原因实际上也很简单,因为任何的函数都是执行错误的时候,同时很不幸的是iconv();就很终于出现错误。现在给你正确的答案。 真正的答案是这样的 代码如下:$content = iconv("utf-8","gb2312//IGNOR...

PHP乱码问题,UTF-8乱码常见问题小结_php技巧

一.HTML页面转UTF-8编码问题 1.在head后,title前加入一行: 顺序不能错,一定要在 显示的标题有可能是乱码! 2.html文件编码问题: 点击编辑器的菜单:“文件”->“另存为”,可以看到当前文件的编码,确保文件编码为:UTF-8, 如果是ANSI,需要将编码改成:UTF-8。 3.HTML文件头BOM问题: 将文件从其他的编码转换成UTF-8编码时,有时候会在文件的最开始加上一个BOM标签, 在个BOM标签可能会导致浏览器在显示中文的时候出现乱码。...

php实现utf-8和GB2312编码相互转换函数代码_php技巧

代码如下: /******************************************** * * 函数名:get_utf8_to_gb($value) * 作 用:utf8编码字符串转换成gb2312编码 * 作 者:刘先忠 * 日 期:2011-11-09 * ********************************************/function get_utf8_to_gb($value){ $value_1= $value; $value_2 = @iconv( "utf-8", "gb2312//IGNORE",$value_1);//使用@抵制错误,如果转换字符串中,某一个字符在目标字符集里没...

解析使用substr截取UTF-8中文字符串出现乱码的问题_php技巧

我们知道有时候使用substr来截取UTF-8中文字符串的时候,经常会出现乱码,为什么会出现这样的问题呢,本文告诉你答案。看这样一段代码吧(字符编码为UTF-8): 代码如下:$str = '都知道strlen与mb_strlen是求字符串长度的函数';echo strlen($str)'.'.mb_strlen($str,'utf-8');?>运行上述代码,返回值如下:6634怎么样?strlen中,中文是三个字节的长度,英文则是一个字节的长度!mb_strlen中,都被计算为一字节的长度!所以,我们...

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转换文件编码是一个比较简单的事情,但是在开发中传递中文参数的时候,有时候不知道是什么编码,结果造成了乱码的现象。这里有个非常方便的解决办法,可以自动识别编码并转换为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编码函数分享_php实例

在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...

php中隐形字符65279(utf-8的BOM头)问题_php技巧

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

PHP实现UTF-8文件BOM自动检测与移除实例_php技巧

本文实例讲述了PHP实现UTF-8文件BOM自动检测与移除的方法。分享给大家供大家参考。具体实现方法如下: BOM信息是文件开头的一串隐藏的字符,用于让某些编辑器识别这是个UTF-8编码的文件。但PHP在读取文件时会把这些字符读出,从而形成了文件 开头含有一些无法识别的字符的问题。 比如用UTF-8格式保存的生成图片的PHP文件,因为文件头隐藏的BOM信息也被下发,导致生成的 图片数据不对,浏览器无法识别。 要检测一个UTF-8文件是否含有...

正确的PHP匹配UTF-8中文的正则表达式_php实例

我以前一直用这个代码如下: preg_match('~[\x7f-\xff]+~is', $string, $tmp);今天才发现,上面这个也会匹配到一些欧洲国家的字符 应该用下面这个,注意修正符 u代码如下: preg_match('~[\x{4e00}-\x{9fa5}]+~u', $string, $tmp);

PHP如何实现Unicode和Utf-8编码相互转换_php技巧

最近恰好要用到unicode编码的转换,就去查了一下php的库函数,居然没找到一个函数可以对字符串进行Unicode的编码和解码!也罢,找不到的话就自己实现一下了。。。 Unicode和Utf-8编码的区别 Unicode是一个字符集,而UTF-8是Unicode的其中一种,Unicode是定长的都为双字节,而UTF-8是可变的,对于汉字来说Unicode占有的字节比UTF-8占用的字节少1个字节。Unicode为双字节,而UTF-8中汉字占三个字节。 UTF-8编码字符理论上可以最多到6...