本地页面必须用GB2312编码,但是API的服务器发出数据有utf8,如何转码。用过iconv(),mb_convert_encoding()两个函数对得到的数据转码,但是不行。网页用php的~

解决方案 »

  1.   

    iconv我还没试过转不了的情况,不过php不是表述为gb2312的,而是GBK,用GBK试试
      

  2.   

    iconv支持的中文编码有:Chinese
    EUC-CN, HZ, GBK, CP936, GB18030, EUC-TW, BIG5, CP950, BIG5-HKSCS, BIG5-HKSCS:2001, BIG5-HKSCS:1999, ISO-2022-CN, ISO-2022-CN-EXT关于mb_convert_encoding,请参看
    http://topic.csdn.net/u/20090819/14/53af8fa7-a176-4365-9256-6545f2622ecb.html
      

  3.   

    iconv(),还有header,为什么非要用GB2312呢?
      

  4.   

    回楼上,最终会走到unicode的,但unicode与gb2312/gbk在国人不适应的地方就是——常用汉字在gbk中的内码顺序是汉语拼音(不常用汉字是笔画顺序),在big5/unicode中是笔画顺序,日语中的汉字在shift-jis中是按五十音顺序,朝鲜语中的汉字也跟随朝鲜语发音顺序,所以在对应的系统中自动排序跟当地使用者的习惯就有很大区别了,最常见的是文件名的排序
      

  5.   

    就用mb_convert_encoding()应该可以解决的,你是不是不没有用对?
    mb_convert_encoding("数据","GB2312","utf-8");