为什么我在导入excel表格时中文显示的是?,怎么解决?

2020-05-04 科技 161阅读
excel_class导入excel出现中文乱码
由 fbzl 于星期四, 07/16/2009- 04:44 发表
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');
这样显示就正常了
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com