/**
*   给出一段乱码,如何求出原文..
*   疑问是,无论是什么字符,unicode总应该都能显示出来.能否转成unicode编码达到效果.
*/$str = 'manufacturering 12鈥? 16鈥? 20鈥? 24鈥? 36鈥?48鈥? 60, 72", 84",96",120" sphere, Various styles';//求解....

解决方案 »

  1.   


    检查出是UTF-8,尝试转换成UTF-8,结果问号没有转换
    manufacturering 12? 16? 20? 24? 36?48? 60, 72", 84",96",120" sphere, Various styles
      

  2.   

    在这里一粘贴,全都变了
    你需要给出原始的数据,必要时用 base64_encode 编一下码
      

  3.   

    mb_convert_encoding函数可以不指明原字符集只指定目标字符集来完成转换,它会自动检测(但不一定可靠)
      

  4.   

    全部使用utf-8吧。连文件编码都要使用。
      

  5.   

    //print in utf-8 charset here
    echo mb_convert_encoding('YOUR_MASS', 'utf-8');
      

  6.   


    结果如下:manufacturering 12? 16? 20? 24? 36?48? 60, 72", 84",96",120" sphere, Various styles
    没有编码成功
      

  7.   


    意思是说有可能不在unicode字符集之内?
      

  8.   

    这段二进制数据所表示的实际文本的字符集,目前来看是不确定的。。一切皆有可能,往跑偏了说是BIG5也不一定。虽然unicode, utf8等字符集可以兼容任意语言的文字,但要将这段数据可以转换为utf8等字符集 仍然需要知道原字符集是什么。
      

  9.   

    不过可以猜出大概
    //  鈥
    /*
    for($i=0x80; $i<0xfe; $i++)
    for($j=0x60; $j<0xfe; $j++)
    echo iconv('gbk', 'utf-8', chr($i).chr($j)) . ",$i $j ";
    */
    foreach(array(170,172,173,174,175,176,177,228,228,235,249) as $n)
    echo chr(161).chr($n);
    /*
    —‖…‘’“”′′‰※
    */根据上下文,为 ” 的可能性最大