本帖最后由 sevencolours24 于 2013-02-28 16:05:54 编辑

解决方案 »

  1.   


    或者你直接给下代码?$msg = “中国”
    iconv(usc-2,utf-16,$msg);
    我这样试过了,不行。。是乱码
      

  2.   

    看手册,用iconv的返回值
    $msg = iconv('usc-2','utf-16',$msg);
      

  3.   


    header("content-type:texxt/html;charset=utf-f")这是本地php文件的header,远程应用程序是c++写的桌面软件,需要接收的是wchar_t类型的宽字符
    我用iconv(usc-2,utf-16)和iconv(utf-8,utf-16)转了发过去都是乱码
      

  4.   

    header("content-type:text/html;charset=utf-8")这是本地php文件的header,远程应用程序是c++写的桌面软件,需要接收的是wchar_t类型的宽字符
    我用iconv(usc-2,utf-16)和iconv(utf-8,utf-16)转了发过去都是乱码 ,快崩溃了
      

  5.   

    wchar_t是C/C++的字符数据类型,是一种扩展的字符存储方式,wchar_t类型主要用在国际化程序的实现中,但它不等同于unicode编码。unicode编码的字符一般以wchar_t类型存储。char是8位字符类型,最多只能包含256种字符,许多外文字符集所含的字符数目超过256个,char型无法表示。
    wchar_t数据类型一般为16位或32位,但不同的C或C++库有不同的规定,如GNU Libc规定wchar_t为32位[1],总之,wchar_t所能表示的字符数远超char型。所以只可能是
    iconv('utf-8', 'ucs-2', $msg)
    iconv('utf-8', 'ucs-4', $msg)
    iconv('utf-8', 'utf-16', $msg)
    iconv('utf-8', 'utf-32', $msg)
    之一
      

  6.   

     header("content-type:text/html;charset=utf-8")
    这个只是服务器的响应头。
    你文件的编码是否也是utf-8,不统一的话,乱码是正常的