//mysql_query("set names 'UTF-8'"); 这行为什么要注释掉? 

解决方案 »

  1.   

    刚试了一下,不让它输出excle,直接在页面显示也是乱码
      

  2.   

    你并没有说你的数据库中用了什么编码。php页面用gbk呢?mysql_query("set names gbk"); 
      

  3.   

    ok,改成gbk可以了,但是我数据库表是用的utf8_general_ci,顺便问一下,用phpexcel导入你会吗
      

  4.   

    改成gbk页面显示正常,但是导出excel还是乱码,晕
      

  5.   

    header("Content-type:application/vnd.ms-excel;charset=gbk"); 这一句改为gbk呢?没什么好办法,自己多试,应该能试出来。
      

  6.   

    也不行,但是我直接给中文的值,在excel中显示正常,用从数据库中提取的数据就是乱码
      

  7.   

    excel里面的字符编码是gb2312  保存为 excel时记得每条数据都转为 gb2312
      

  8.   

    本帖最后由 PhpNewnew 于 2012-05-26 10:56:17 编辑
      

  9.   

    你需要用函数iconv 来转换编码就不会出现乱码了。 
      

  10.   

    想问问楼主,你导出来的excle2007,也就是xlsx打开后会不会报错?
    导出的xls能正常打开,导出的xlsx打开提示出错。