建了一个php页面
头文件是header("Content-Type:text/html;charset=gb2312");
header( "Content-type:application/octet-stream ");
header( "Accept-Ranges:bytes ");
header( "Content-type:application/vnd.ms-excel ");
header( "Content-Disposition:attachment;filename=test.xls ");
用来生产excel的。
然后sql语句
用table循环列出来。问题是,sql查询出来的内容少的话显示正常的
内容一多,就乱码了。
生成的excel再用网页预览查出来编码是土耳其语。这个是怎么回事啊?!
头文件是header("Content-Type:text/html;charset=gb2312");
header( "Content-type:application/octet-stream ");
header( "Accept-Ranges:bytes ");
header( "Content-type:application/vnd.ms-excel ");
header( "Content-Disposition:attachment;filename=test.xls ");
用来生产excel的。
然后sql语句
用table循环列出来。问题是,sql查询出来的内容少的话显示正常的
内容一多,就乱码了。
生成的excel再用网页预览查出来编码是土耳其语。这个是怎么回事啊?!
...
$table .= '</table';
iconv($table, ...);excel导出
echo iconv('UTF-8','GB2312',$row1['Mat_name']);
可是中文不显示了,英文数字显示出来了。
显示错误为:#1366 - Incorrect string value: '\xB5\xCF\xB5\xCF' for column 'a' at row 1 数据库用utf-8的话,页面上导出excel有时用iconv有用,有时用iconv导出还是乱码。
都不知道怎么办了?!
是不是导出excel的时候还有转换成gb2312呢?
我试了下还是乱码啊
网页编辑也用utf-8
生成excel的时候,当直接echo ‘中文'的时候,可以显示的,
而当echo数据库的数据时候就显示乱码了。