PHP与UTF8输出到PHPExcel?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP与UTF8输出到PHPExcel?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个问题,将数据从utf8 mysql数据库导出到带有 PHPExcel的excel表并保留中文字符.我的MysqL数据库是utf8,里面有很多中文字符,我将这些数据导出到多页xls文件(excel5)中,每次导出汉字变成“?”.我已经尝试过utf8_encode()但它对我不起作用.我也尝试将输出改为excel2007,认为这将是一个excel5 wrITer问题.

有没有办法让中文字符正确导出?
是否必须制作整个PHP文件utf8?如果是这样,我该怎么做呢?

以下是我遇到的问题:

$res2 = MysqL_query("SHOW COLUMNS From ".$sheetnametemp);
while($row2 = MysqL_fetch_array($res2,MysqL_NUM)) {
  $counter = 2;
  $cell = $coltemp;
  $cell .= $counter;
  $objPHPExcel->getActiveSheet()->SetCellValue($cell,$row2[0]);
      $result = MysqL_query("SELECT * From ".$sheetnametemp);
      while($row = MysqL_fetch_array($result))
      {
        $counter++;
        $cell2 = $coltemp;
        $cell2 .= $counter;
        utf8_encode($row[$row2[0]]);
        echo "<br />";
        $objPHPExcel->getActiveSheet()->SetCellValue($cell2,utf8_encode($row[$row2[0]]));
      }

我需要使用这些中文字符,因为它是一个多语言的目录数据库,因此将其更改为英语无济于事.此外,我目前正在使用Xampp的Mac上,如果该信息无论如何都有帮助.

解决方法

设置执行“SET names utf8”或MysqL_set_charset(“UTF8”,$conn);确保您与数据库的连接使用UTF-8.

您可以使用echo MysqL_client_encoding($conn)测试连接;

确保你不再试图调用utf8_encode().

注意:Excel文件使用代码页来标识文件中使用的字符集,但PHPExcel在内部将该代码页设置为UTF-8的硬编码值,因此文件中的所有字符串内容都应为UTF-8,并且Excel知道将MS Excel GUI中的工作表解释为UTF-8.如果您在Excel中查看子表格时没有看到中文字符,请检查MS Excel中的语言设置,看看它是否配置为处理中文

信用:@Mark Baker.再次感谢.

脚本宝典总结

以上是脚本宝典为你收集整理的PHP与UTF8输出到PHPExcel?全部内容,希望文章能够帮你解决PHP与UTF8输出到PHPExcel?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。