PHP与UTF8输出到PHPExcel?
发布时间:2020-12-13 17:13:33 所属栏目:PHP教程 来源:网络整理
导读:我有一个问题,将数据从utf8 mysql数据库导出到带有 PHPExcel的excel表并保留中文字符.我的mysql数据库是utf8,里面有很多中文字符,我将这些数据导出到多页xls文件(excel5)中,每次导出汉字变成“?”.我已经尝试过utf8_encode()但它对我不起作用.我也尝试将输
我有一个问题,将数据从utf8
mysql数据库导出到带有
PHPExcel的excel表并保留中文字符.我的mysql数据库是utf8,里面有很多中文字符,我将这些数据导出到多页xls文件(excel5)中,每次导出汉字变成“?”.我已经尝试过utf8_encode()但它对我不起作用.我也尝试将输出更改为excel2007,认为这将是一个excel5 writer问题.
有没有办法让中文字符正确导出? 以下是我遇到的问题: $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.再次感谢. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |