gpt4 book ai didi

PHP 与 UTF8 输出到 PHPExcel?

转载 作者:可可西里 更新时间:2023-11-01 07:33:15 24 4
gpt4 key购买 nike

我在使用 PHPExcel 将数据从 utf8 mysql 数据库导出到 Excel 工作表并保留中文字符时遇到问题。我的 mysql 数据库是 utf8 并且里面有很多汉字,我正在将该数据导出到一个多表 xls 文件(excel5)并且每次导出汉字都会变成“?”。我试过 utf8_encode() 但它对我不起作用。我还尝试将输出更改为 excel2007,认为这将是 excel5 编写器问题。

有没有办法让汉字正确导出?我是否必须将整个 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?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12717034/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com