PHP程序:excel_class导入excel出现中文乱码

时间:2021-04-16

excel_class是一款php导入excel的工具,它可以方便从excel导入数据到php,也可以方便用php把数据导入到excel。

在使用它的时候出现了中文乱码,从excel导入的数据print到浏览器上显示正常,查看源代码却是乱码。这里解决方法如下:

修改excel_class.php类文件,查找$s = uc2html($exc->sst['data'][$ind]);替换 为 $s = iconv('utf-16le','utf-8',$exc->sst['data'][$ind]),这样编码就是utf-8了.

如果想把数据再导入mysql,而你的mysql编码是GB2312,那么你就需要再把数据从utf-8转到gb2312了,可以这样:$s=iconv("UTF-8","GB2312",$s)

还有一种方法是:打开excel_class.php,找到函数uc2html, 将函数中的代码注释掉,直接将参数返回, 即改函数不做任何操作。
function uc2html($str) {
return $str;
}

接下来使用PHP中提供的函数mb_convert_encoding来将UTF-16LE转换成UTF-8。

echo mb_convert_encoding($return[Sheet2][0][0], 'UTF-8', 'UTF-16LE');

这样显示就正常了。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章