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

在PHP中进行GB2312与UTF-8的互换

因为证书中有中文,所以需要在php中进行GB2312与UTF-8的互换。网上搜索一下这方面相关资料,说是需要php_iconv.dll的支持,可是我在PHP5文件夹中根本找不到这个文件,但是奇怪的是在PHP4中有这个,然后我将PHP4中的php_iconv.dll文件,复制到system32下,却提示出现错误,我想应该也不行,毕竟PHP4和PHP5里面的文件应该不兼容。到这里我就想删除了PHP5,装一个PHP4算了,后来发现一段话:iconv and libxml are compiled into php5t...

在PHP中进行GB2312与UTF-8的互换_PHP

因为证书中有中文,所以需要在PHP中进行GB2312与UTF-8的互换。网上搜索一下这方面相关资料,说是需要php_iconv.dll的支持,可是我在PHP5文件夹中根本找不到这个文件,但是奇怪的是在PHP4中有这个,然后我将PHP4中的php_iconv.dll文件,复制到system32下,却提示出现错误,我想应该也不行,毕竟PHP4和PHP5里面的文件应该不兼容。到这里我就想删除了PHP5,装一个PHP4算了,后来发现一段话:iconv and libxml are compiled into php5t...

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

一份gb2312.txt(184799字节)确实显得太大了点,而且还要经unicode转换。这份对照表为51965字节,要小的多了。对于无法使用iconv函数库的场合还是很实用的。//对照表的使用$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, &$charset) { //提取文...

用php实现gb2312和unicode(UTF-8)间的编码转换_PHP

下面的例子是将 gb2312 转换为 uft-8 这种形式php4.3.1以后的iconv函数很好用的,只是需要自己写一个uft8到unicode的转换函数查表(gb2312.txt)也行$text = "电子书库";preg_match_all("/[\x80-\xff]?./",$text,$ar);foreach($ar[0] as $v) echo "&#".utf8_unicode(iconv("GB2312","UTF-8",$v)).";";?>// utf8 -> unicodefunction utf8_unicode($c) { switch(strlen($c)) { case 1: return ord($c); case 2: $n =...

用php实现gb2312和unicode间的编码转换_PHP

gb2312 和 unicode 间的编码转换 下面的例子是将 gb2312 转换为 "全"这种形式 php4.3.1以后的iconv函数很好用的,只是需要自己写一个uft8到unicode的转换函数查表(gb2312.txt)也行$text = "电子书库";preg_match_all("/[\x80-\xff]?./",$text,$ar);foreach($ar[0] as $v) echo "&#".utf8_unicode(iconv("GB2312","UTF-8",$v)).";";?>// utf8 -> unicodefunction utf8_unicode($c) { switch(strlen($c)) { case 1: return...

PHP的GB2312-UTF-8转换函数_PHP

以下是一段gb2312 -> UTF-8 的函数,我抄了 unicode -> UTF-8 的算法,所以实际比GB2312->unicode 没多多少东西,请大家注意调用gb2utf8()时不能中英文混用 程序需要的GB2312.txt文件 //Program writen by sadly www.phpx.com //gb2utf8.php function gb2utf8($gb) { if(!trim($gb)) return $gb; $filename="gb2312.txt"; $tmp=file($filename); $codetable=array(); while(list($key,$value)=each($tmp)) $codetable[hexdec(substr...

gb2312的php文件转换为utf-8格式后的一个错误_PHP

GB2312的php文件转换为UTF-8格式后,php程序运行时就会出现header已发送这样的错误提示(试图打开session的时候)。 错误如下: 代码: Warning: Cannot modify header information - headers already sent by (output started at /home/yoyo/public_html/blog/index.php:1) in /home/yoyo/public_html/blog/global.php on line 11 ? Warning: Cannot modify header information - headers already sent by (output started at /hom...

PHP字符串编码截取函数(兼容utf-8和gb2312)_PHP

代码如下://截取字符串长度。支持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){//如果截取开始位置大于字符串长度,截取后面$...

PHPiconv函数转gb2312的bug解决方法_PHP

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就不用作转换了

PHPiconv解决utf-8和gb2312编码转换问题_PHP

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

PHP解决utf-8和gb2312编码转换问题_PHP

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

php+jquery编码方面的一些心得(utf-8gb2312)_PHP

jQuery php 文件应存为ANSI,要改编码时可用代码调。 代码如下://编码为gb2312,目前大部分网页还是用gb2312,少部分用utf-8, //www.baidu.com竟然两个都用,所以读取baidu的网页怎么搞都没问题 header(Content-Type: text/html; charset=gb2312); //编码为utf-8 header(Content-Type: text/html; charset=gb2312); //编码xml为utf-8,不过好像都行 header(Content-Type: text/xml; charset=utf-8); jquery客户端处理 客户端网页存为...

PHPsubstr截取字符串出现乱码问题解决方法[utf8与gb2312]_PHP

substr --- 取得部份字符串 语法 : string substr (string string, int start [, int length]) 说明 : substr( )传回 string的一部份字符串,由参数 start和 length指定。 如果 start是正数,传回的字符串将会从 string的第 start个字元开始。 Example : 代码如下:$rest = substr ("abcdef", 1); // returns "bcdef" $rest = substr ("abcdef", 1, 3); // returns "bcd" ?> 如果 start是负数,传回的字符串将会从 string结尾的第...

phpsmarty截取中文字符乱码问题?gb2312/utf-8_php模板_PHP

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

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);//使用@抵制错误,如果转换字符串中,某一个字符在目标字符集里没...

GB2312 - 相关标签