header("Content-Type: text/html; charset=utf-8");
$a="'鑻辨牸鍏拌冻鐞冭浼氬寳閮ㄨ伅璩?";
$a=trim($a,"'");
echo $a;//以下是如果字符串统一为简体UFT-8或繁体UFT-8的转换代码
if($is_gb2312){ //简体UFT-8 
         $a=mb_convert_encoding($a,"gb2312","UTF-8");
$a=gb2312_to_big5($a);
}else{//繁体UFT-8
$a=mb_convert_encoding($a,"big5","UTF-8");
}
以前代码输出 英格兰足球议会北部聯賽 我想将内容统一转为big5或者gb2312保存,因为需要在header("Content-Type: text/html; charset=big5");下输出.
应该如何处理?望高手指引,感激万分。

解决方案 »

  1.   

    为啥不用UTF-8啊,你这样维护很麻烦的。而且没看明白你想做什么,header里面已经设置了utf-8输出,你后面为什么还要做转换?
      

  2.   

    因为这是一个附加的功能,原系统已经做好了,用的是charset=big5。上面的数据是从网页上取回来的,那个网上就是用utf-8。
      

  3.   

    那你的操作顺序错了,应该是这样:
    <?php
    //获取网页内容//以下是如果字符串统一为简体UFT-8或繁体UFT-8的转换代码
    if($is_gb2312){ //简体UFT-8
    $a=mb_convert_encoding($a,"gb2312","UTF-8");
    $code = "gb2312";
    }else{//繁体UFT-8
    $a=mb_convert_encoding($a,"big5","UTF-8");
    $code = "big5";
    }
    header("Content-Type: text/html; charset=$code");
    echo $a;
    ?>
      

  4.   


    if($is_gb2312){ //简体UFT-8
        $a=mb_convert_encoding($a,"gb2312","UTF-8");
        $code = "gb2312";
    }else{//繁体UFT-8
        $a=mb_convert_encoding($a,"big5","UTF-8");
        $code = "big5";
    }以上代码只能当$a全是简体utf-8或者全是繁体utf-8的时候才可以用,取回来的数据是 "英格兰足球议会北部聯賽" 只有联赛2字是繁体,前面几只字是简体,所以无论如何用上面代码转都会出现部分字乱码。
      

  5.   

    这样当然得用UTF-8编码输出,要不然网页都会有乱码的。
      

  6.   

    $a="'鑻辨牸鍏拌冻鐞冭浼氬寳閮ㄨ伅璩?"; //'英格兰足球议会北部聯
    echo iconv('utf-8', 'gbk', $a); //转码成 gbk
    echo iconv('utf-8', 'gig5', $a); //转码成 big5
      

  7.   


    header("Content-Type: text/html; charset=big5");
    $a="'鑻辨牸鍏拌冻鐞冭浼氬寳閮ㄨ伅璩?";
    $a=trim($a,"'");echo iconv('utf-8', 'gbk', $a); //转码成 gbk
    echo '<hr>';
    echo iconv('utf-8', 'big5', $a); //转码成 big5
    按楼上的还是乱码啊...
      

  8.   

    那个 $a 的内容是 uft-8 编码的,只在 uft-8 环境中不乱码转成 gbk 就要在 gbk 环境下观看
    转成 big5 就要在 big5 环境下观看环境不同,效果也不同
      

  9.   

    我就是想在big5页面的环境下显示utf-8码,只能转换。如果utf-8码显示的是繁体字 用$a=mb_convert_encoding($a,"big5","UTF-8");是可以解决。但问题是 utf-8码显示的是繁体字和简体字混合。

    $a=mb_convert_encoding($a,"big5","UTF-8");
    $a=mb_convert_encoding($a,"gb2312","UTF-8");都会有几个字是乱码。能不能做到每个字去判断是简体utf-8还是繁体utf-8(就是在utf-8环境下显示这个字会是简体字还是繁体字),如果能做了判断再单个字转就OK。这网址真能整人,希望大虾们帮助。
      

  10.   

    “简体/繁体”是“字符集(charset)”的问题,不要跟“编码方式(encoding)”搞混了。你取回来的数据既然能够简繁体混排,基本上可以肯定是 UTF-8 编码方式,但是你必须先考虑进行“简/繁体转换”,统一到一个字符集,然后才能考虑转换成 GB2312 或者 BIG5 编码方式,因为这两种编码方式都无法同时支持“简体/繁体”字符集。不过,“简/繁体转换”可不是一个简单的事情哦 @_@
      

  11.   

    根据 UTF-8 的码值应该是能区分出简体还是繁体的,因为它们有不同的码段(虽然可能比较零碎麻烦)。问题是,区分出来你也不能直接进行编码方式的转换,因为一个繁体字根本就没有对应的 GB2312 编码,反之亦然。所以,真要完美解决的话,恐怕难逃“简/繁体转换”,但是这个确实不容易,比如“发”,你是转换成“發”还是转换成“髪”?这要看上下文的。