【PHP字符编码问题之GB2312VSUTF-8解决方法_php技巧】教程文章相关的互联网学习教程文章

php中json_encode处理gbk与gb2312中文乱码问题的解决方法【代码】

本文讲述了php中json_encode处理gbk与gb2312中文乱码问题的解决方法,具体方法如下:1.json_encode()中文在gbk/gb2312中对中文返回为null $arr = array ( array ( ‘catid‘ => ‘4‘, ‘catname‘ => ‘www.jb51.net‘, ‘meta_title‘ => ‘脚本之家‘ ) );echo json_encode($arr); 运行结果: [{"catid":"4","catname":"www.jb51.net","meta_title":null}]看一了吗"meta_title":null 他本来是有一个值的为"脚本之家"了,这个我们...

不用iconv库的gb2312与utf-8的互换函数

一份gb2312.txt(184799字节)确实显得太大了点,而且还要经unicode转换。 这份对照表为51965字节,要小的多了。 对于无法使用iconv函数库的场合还是很实用的。 <?php //对照表的使用 $filename = "gb2utf8.txt"; $fp = fopen($filename,"r"); while(! feof($fp)) { list($gb,$utf8) = fgetcsv($fp,10); $charset[$gb] = $utf8; } fclose($fp); //以上读取对照表到数组备用 /** gb2312到utf-8 **/ function gb2utf8($text, &$chars...

php如何实现utf8转gb2312【代码】【图】

php实现utf8转gb2312的方法:用ICONV函数,避免某一个字符在目标字符集里没有对应字符,这个字符之后的部分就被忽略掉了,代码为【iconv( "UTF-8", "gb2312" , "abc阳光123");】。【相关学习推荐:php编程(视频)】php实现utf8转gb2312的方法:用ICONV函数: iconv( "UTF-8", "gb2312" , "abc阳光123");<?php* 函数名:get_utf8_to_gb($value)* 作 用:utf8编码字符串转换成gb2312编码 function get_utf8_to_gb($value) { $va...

php gb2312转utf8函数是什么【代码】【图】

php gb2312转utf8函数是“mb_convert_encoding”,其函数语法是“mb_convert_encoding($output[wd], utf-8, gb2312);”。推荐:《PHP视频教程》PHP转换UTF-8和GB2312的URL编码目前WEB的应用中, UTF-8编码和GB2312编码是并存在的,例如百度(baidu.com)和谷歌(google.com)的URL编码分别是GB2312编码和UTF-8编码。由于编码并存引起的乱码问题给WEB应用开发中带来不少麻烦,因此统一编码是在WEB开发中解决这个问题的主要途径。现在的问...

楷体gb2312PHPiconv函数转gb2312的bug解决方法

iconv( "UTF-8", "gb2312//IGNORE" , $FormValues['a']) ignore的意思是忽略转换时的错误,发现iconv在转换字符"—"到gb2312时会出错,如果没有ignore参数,所有该字符后面的字符串都无法被保存。 另外mb_convert_encoding没有这个bug,所以最好的写法是: mb_convert_encoding($FormValues['a'], "gb2312", "UTF-8"); 但是需要先enable mbstring 扩展库。 也可以把mysql数据库的collation设成utf-8就不用作转换了以上就介绍了楷体g...

g236PHP字符串编码截取函数(兼容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=mb_strlen($str,utf-8);//字符串的长度 if($from>$str_len){//如果截取开始位置大于字符串长度,截取后面$length个 ...

gb2312和utf-8的区别有哪些?如何选择?(总结)【图】

本篇文章主要为大家介绍gb2312和utf-8的区别。相信大家应该都知道计算机中是不能直接存储汉字,而存储的是编码。那么在不同的环境需求下,就会有不同的字符编码。gb2312和utf-8就都是一种字符编码。在之前的文章【gbk和gb2312的区别有哪些?】中,已经为大家总结了gbk与gb2312的区别,并且也具体介绍了什么是字符编码?需要的朋友可以前去参考了解。GB2312是一个简体中文字符集,由6763个常用汉字和682个全角的非汉字字符组成。gb2...

gbk和gb2312的区别有哪些?(总结)

本篇文章主要给大家介绍gbk和gb2312的区别之处。首先大家要了解什么是gbk?什么是gb2312?我们要知道他们都是一种字符编码,当然字符编码还有很多种。而字符编码我们可以这样理解:在计算机中存放的都是0和1的二进制值。8个位对应一个字节,常用16进制来表示。那么我们如果想要在计算机上看到我们想要的字符显示,而不是各种0和1的数字该怎么实现呢?这里我们就需要使计算机把其所存储的对应的16进制的数值,转化为对应的字符,包括...

PHP中iconv函数来转换编码,如UTF-8转GB2312

这篇文章介绍的内容是关于PHP中iconv函数来转换编码,如UTF-8转GB2312,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下最近在做建行接口的时候发现必须 将编码UTF-8转换成GB2312 所以才采用这个iconv函数来转换编码。 发现只有用iconv函数把抓取过来的数据一转码数据就会无缘无故的少一些。 让我郁闷了好一会儿,去网上一查资料才知道这是iconv函数的一个bug。iconv在转换字符”—”到gb2312时会出错。下面慢慢看一...

php中json_encode不支持GB2312编码的解决

在之前的文章中我们介绍了php中json_encode中文UNICODE转码的问题解决,那么今天继续给大家介绍php中json_encode不支持GB2312编码的问题、在 php 中使用 json_encode() 内置函数(php > 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它,这个函数的功能是将数值转换成json数据存储格式。如下所示:$arr = array(Name=>希亚, Age=>20); $jsonencode = json_encode($arr); echo $jsonencode;运行结果:{"Name":null,"...

详细介绍织梦GBK/GB2312转utf-8编码操作步骤(全站修改方法)【图】

这篇文章主要介绍了织梦GBK/GB2312转utf-8编码操作步骤(全站修改方法),需要的朋友可以参考下目前MIP对编码是有严格要求,必须是UTF-8,那么对于大部分GBK或者GB2312的用户只能先将网站整体进行编码转换,才能进行MIP改造,不然改造后的页面是乱码一大片。为什么MIP只支持utf-8?目前部分手机自带浏览器仅支持UTF-8,打开GBK的网站会出现乱码,所以为了手机的兼容性,MIP在这里规范了网页的编码为UTF-8。同时建议大家做网站尽量使用...

PHP截取中文字符串函数~包括GB2312和UT-8

<?php /* Utf-8、gb2312都支持的汉字截取函数 cut_str(字符串, 截取长度, 开始长度, 编码); 编码默认为 utf-8 开始长度默认为 0 */ function cut_str($string, $sublen, $start = 0, $code = UTF-8) { if($code == UTF-8) { $pa = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80...

Utf-8、gb2312都支持的汉字截取函数

/*** Utf-8、gb2312都支持的汉字截取函数* @param string $string 需要截取的文字* @param number $sublen 截取长度* @param number $start 开始位数* @param string $omitted 省略符* @param string $code 编码格式 默认UTF-8* @return string*/ function cut_str($string, $sublen, $start = 0, $omitted = ..., $code = UTF-8) {if($code == UTF-8){$pa ="/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe...

GB2312phpsmarty截取中文字符乱码问题?gb2312/utf-8

一般网站页面的显示都不可避免的会涉及子字符串的截取,这个时候truncate就派上用场了,但是它只适合英文用户,对与中文用户来说,使用 truncate会出现乱码,而且对于中文英文混合串来说,截取同样个数的字符串,实际显示长度上却不同,视觉上会显得参差不齐,影像美观。这是因为一个中文的长度大致相当与两个英文的长度。此外,truncate也不能同时兼容GB2312, UTF-8等编码。 改良的smartTruncate: 文件名:modifier.smartTruncat...

楷体gb2312PHP截取字符串函数整理支持gb2312和utf-8

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) { re...

GB2312 - 相关标签