我遇到与this question类似的问题。那就是 - 我需要将MySQL数据库中的一些UTF8数据导出到MS Excel。
Excel提供了好处:
我的网络应用程序是PHP驱动的,但不幸的是我不能使用PHP Excel文件制作库,因为数据库非常大。我的所有出口都必须通过MySQL完成。
如果有人知道如何让MySQL在这个问题上跳过Excel,那就太棒了。
非常感谢,
杰克
修改:This answer描述了适用于Excel 2007的解决方案。在文件中添加“BOM”,我可以通过将输出的文件提供给文件来实现客户端通过附加BOM的PHP脚本。理想情况下,我想找到一个在2003年也有效的解决方案。
答案 0 :(得分:1)
为了处理类似的问题,我建议添加:
FIELDS ENCLOSED BY '"'
来自mysql docs的更完整示例:
SELECT a,b,a+b INTO OUTFILE '/tmp/result.txt'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM test_table;
答案 1 :(得分:1)
我记得用Excel遇到了这个问题。 BOM修复程序适用于Excel 2007和2010.我们也想支持2003,但我们的解决方案是只编写XLS文件而不是CSV文件(使用Java)。这对你来说听起来不是一个选择,因为你是从MySQL导出的。想到的一个想法是在导出后将UTF8输出转换为UTF-16LE。 This page解释了如何使用Perl。