$content = iconv("utf-8","gb2312",$content);这样做其实也对着了,看着确实是把utf-8转化为gb2312了,但是实际运行的话,往往都是以失败告终的,原因呢? 原因很简单,因为任何的函数都是执行错误的时候,同时很不幸的是iconv();就很终于出现错误。 正确做法:$content = iconv("utf-8","gb2312//ignore",$content);只要后面加上一个//ignore就行,加上这个就可以是iconv()函数忽略错误,继续执行。 同理,要像把gb2312换为utf-8...
< ?php header("content-type: text/html; charset=utf-8"); echo mb_convert_encoding("妳係我的友仔", "utf-8", "gbk"); ?>2,gb2312 to big5 编码转换< ?php header("content-type: text/html; charset=big5"); echo mb_convert_encoding("你是我的朋友", "big5", "gb2312"); ?> 不过要使用上面的函数需要安装但是需要先enable mbstring 扩展库。 php中的另外一个函数iconv也是用来转换字符串编码的,与上函数功能相似。 例子:...
header("content-type: text/html; charset=utf-8"); echo mb_convert_encoding("妳係我的友仔", "utf-8", "gbk"); ?>编码转换gb2312到big5:header("content-type: text/html; charset=big5"); echo mb_convert_encoding("你是我的朋友", "big5", "gb2312"); ?> 使用以上php函数需要安装但是需要先enable mbstring 扩展库。 php函数iconv也是用来转换字符串编码的,与上函数功能相似。 例子: iconv — convert string to requ...
<?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); $encoded = mb_detect_encoding($data, $encode_arr);//自动判断编码 if (!is_array($data)) { return mb_convert_encoding($data, $output, $encoded); } // bbs.it-home.org else { fore...
$content = iconv("gbk", "utf-8", $content); //第一种简单易用$content = mb_convert_encoding($content, "utf-8", "gbk");//第二种避免出现意外//发现iconv在转换字符”—”到gb2312时会出错,如果没有ignore参数,所有该字符后面的字符串都无法被保存。不管怎么样,这个”—”都无法转换成功,无法输出。 另外mb_convert_encoding没有这个bug. 一般情况下用 iconv,只有当遇到无法确定原编码是何种编码,或者iconv转化后无法...
<?//php汉字转码 GBK->Unicode(UTF8)class qswhGBK{ var $qswhData; function qswhGBK($filename="qswhGBK.php"){ $this->qswhData=file($filename); } function gb2u($gb,$callback=""){ /******(qiushuiwuhen 2002-8-15)******/ $ret=""; for($i=0;$i<strlen($gb);$i++){ if(($p=ord(substr($gb,$i,1)))>127){ $q=ord(substr($gb,++$i,1)); $q=($q-($q>128?65:64))*4; $q=substr($this->qswhData[$p-128],$q,...
<?//php汉字转码class qswhBig5{ var $qswhData; function qswhBig5($filename="qswhBig5.php"){ $this->qswhData=file($filename); } function qswhStr($gb,$fail="??"){ /******(qiushuiwuhen 2002-9-6)******/ $ret=""; for($i=0;$i<strlen($gb);$i++){ if(($p=ord(substr($gb,$i,1)))>127){ $q=ord(substr($gb,++$i,1)); $tmp=$this->qswhData[$p-128]; for($j=0;$j<strlen($tmp);$j+=6)if(($k=hexdec(substr($...
class gb2utf8 { var $gb; // 待转换的gb2312字符串 var $utf8; // 转换后的utf8字符串 var $codetable; // 转换过程中使用的gb2312代码文件数组 var $errormsg; // 转换过程之中的错误讯息 function gb2utf8($instr="") { $this->gb=$instr; $this->setgb2312(); ($this->gb=="")?0:$this->convert(); } function setgb2312($instr="gb2312.txt") { // 设置gb2312代码文件,默认为gb2312.txt $this->errormsg=""; $t...
function phpcharset($data, $to) {if(is_array($data)) {foreach($data as $key => $val) {$data[$key] = phpcharset($val, $to);}} else {$encode_array = array('ascii', 'utf-8', 'gbk', 'gb2312', 'big5');$encoded = mb_detect_encoding($data, $encode_array);$to = strtoupper($to);if($encoded != $to) {$data = mb_convert_encoding($data, $to, $encoded);}}return $data;}?>
<?php/** * @ string 需要转换的文字 * @ encoding 目标编码 **/ function detect_encoding($string,$encoding = gbk){ $is_utf8 = preg_match(%^(?:[\x09\x0a\x0d\x20-\x7e]| [\xc2-\xdf][\x80-\xbf]| \xe0[\xa0-\xbf][\x80-\xbf] | [\xe1-\xec\xee\xef][\x80-\xbf]{2} | \xed[\x80-\x9f][\x80-\xbf] | \xf0[\x90-\xbf][\x80-\xbf]{2} | [\xf1-\xf3][\x80-\xbf]{3} | \xf4[\x80-\x8f][\x80-\...
$string=mb_convert_encoding($string, 字符输出编码, 原字符编码); 例如:网页使用gbk编码,字符串使用utf-8编码,将字符转换为网页显示编码。echo mb_convert_encoding("php编码转换", "gbk", "utf-8");总结:推荐使用mb_convert_encoding函数,该函数无iconv转换字符错误问题。 对字符串进行编码转换,要转成UTF-8。 如果知道原字符串编码,就可以使用大家都熟悉的iconv函数,但现在是不知道原字符串的编码,可能是GBK,也可能原...
require_once('pinyin_table.php'); function get_pinyin_array($string){ global $pinyin_table; $flow = array(); for ($i=0;$i { if (ord($string[$i]) >= 0x81 and ord($string[$i]) { $h = ord($string[$i]); if (isset($string[$i+1])) { $i++; $l = ord($string[$i]); if (isset($pinyin_table[$h][$l])) ...
本文介绍了php中汉字编码转换的一些知识,分析了php编码转换的原理与方法,有需要的朋友参考下。有关对mysql4.1字符集的理解,再讲述如何php如何适应mysql的这种变化。 同样适用于mysql5及以上的版本。 一.原理篇 mysql的字符集里有两个概念,一个是“character set(字符集)”,另一个是“collations”。 1. collations collations翻成中文是“校验”,在网页开发的过程中,这个词汇,只在mysql里使用,主要作用是指导mysql对字...
header("content-type: text/html; charset=utf-8");echo mb_convert_encoding("妳係我的友仔", "utf-8", "gbk");?> gb2312 to big5编码转换:header("content-type: text/html; charset=big5");echo mb_convert_encoding("你是我的朋友", "big5", "gb2312");?> 如果使用以上函数,需要安装但是需要先enable mbstring 扩展库。 string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] )需要先enabl...
print_r(iconv_get_encoding("all"));2,对指字符串进行编码转换:echo iconv(utf-8,gb2312,我们); //把‘我们’由utf8编码转换为gb2312编码**iconv(in_charset,outcharset//TRANSLIT//IGNORE,$string);//TRANSLIT:如果在输出的编码格式中不含有的字符,可以在类似编码中查找取代;IGNORE:如果输出格式编码中不含有字符串中的某字符时,能够跳过进行后面字符的编码。否则在转码失败处会中断输出,产生错误。3,将字...