如何解决php读取excel乱码问题
php读取excel乱码问题的解决办法:1、修改“excel_class.php”类文件为“$s=iconv(‘utf-16le’,'utf-8′,$exc->sst['data'][$ind])”;2、注释掉“uc2html”函数。
推荐:《PHP视频教程》
php读取excel中文乱码 excel_class…
今天碰到了大问题,就是读取excel的中文乱码大问题!
Excel_class.php是一款php导入excel的工具,它可以方便从excel导入数据到php,也可以方便用php把数据导入到excel.但是今天很不给力!
我搜集了很多资料就是没找到,后来想到:百度使我们最好的老师。好了,现在就找老师去!
果然,在百度上搜到了关于这个工具的处理乱码的方法。
第一种方法:修改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’);
这样显示就正常了。
总结:在我的测试过程中,建议用第一种方法,第二种方法把数字变成乱码了(不知道什么原因)。
以上就是如何解决php读取excel乱码问题的详细内容,更多请关注其它相关文章!
上一篇: 如何使用PHP连接MySQL
下一篇: php调用mysql步骤
推荐阅读
-
PHP读取文件,解决中文乱码UTF-8的方法分析
-
php adodb连接mssql解决乱码问题
-
解决php接收shell返回的结果中文乱码问题
-
PHP json_encode中文乱码问题的解决办法
-
PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
-
ArcGIS API for javascript如何解决打印输出的中文为乱码问题?
-
php中json_encode处理gbk与gb2312中文乱码问题的解决方法
-
借助记事本解决Excel开启CSV文件乱码除数字其他都乱码问题
-
Windows下利用Gvim写PHP产生中文乱码问题解决方法
-
PHP中使用file_get_contents抓取网页中文乱码问题解决方法