将读出的东西转下码试一试,看看行不行:
字符串 = iconv('原来编码类型', '需要的编码类型', '字符串');

解决方案 »

  1.   

    字符编码是老问题,其实要保证的数据正确就是要保证:
    网页编码,程序文件编码和数据库编码一致,还有就是你要读取excel,也要保证excel的编码一致,如果不一样要用iconv('原来编码类型', '需要的编码类型', '字符串');来转换。这是一个细活,同样也考验了你的代码架构能力,比如有统一的读入接口来处理编码,有统一的数据库读写操作接口来处理编码等等。
      

  2.   

    你的excel文件编码跟你的文件编码应该是不一样
      

  3.   

    其实吧.我也是这么想的,
    那怎么看Excel的编码呢,
    我看了下,记事本保存的时候可以选择编码,
    那excel怎么弄..
    我想看看Excel的编码是不是utf8的``
      

  4.   

    http://topic.csdn.net/u/20100904/12/fe5006ef-bc7d-42d4-b994-298ea465a7f1.html将得到的字符判断下编码
      

  5.   

    额``不行``
    我在读取excel的时候就进行了编码转换``
    插入到数据库还是那些字符``
    &#20027&#33829&#20135&#21697&#49&#57``
    诶``
    有人知道这个字符是什么格式的么` `
    百度上搜出来的url里的字符是utf8的吧``
    那这个是什么的``
      

  6.   

    从 Excel 读出的中文,按读出程序的处理方式的不同,可能的编码为:
    UCS-2 高位在前
    UFT-16LE 低位在前另外,有的 Excel 读取程序本身得到的就是如同 &#20027&#33829&#20135&#21697&#54 这样的 html编码格式。你可以通过浏览器 查看源文件 功能核实一下
      

  7.   

    $s = "&#20027&#33829&#20135&#21697";$s = preg_replace_callback('/&#(\d+)/', 'foo', $s);function foo($r) {
      return iconv("UCS-2", "GBK", pack("n", $r[1])); //可将 GBK 改成你需要的编码名称
    }