【发布时间】:2010-04-20 13:27:17
【问题描述】:
我正在编写一个 php 脚本来将 MySQL 数据库行导出到一个 .txt 文件中,该文件格式为 Adobe InDesign 的内部标记。
导出工作,但是当我遇到像 é 或变音符号这样的特殊字符时,我会得到奇怪的符号(例如 Chloë Hanslip 而不是 Chloë Hanslip)。我需要一个更好的方法,而不是对每个可能的怪异字符进行搜索和替换。
我已经检查过,当文本进入数据库时,它已正确保存 - 在数据库中我看到了特殊字符。我的导出代码基本上会运行一些正则表达式来放入 InDesign 代码标签,而我留下了奇怪的符号。如果我只是将文本输出到浏览器(而不是提示下载文本文件),它会正确显示。当我保存文件时,我使用以下代码:
header("Content-disposition: attachment; filename=test.txt");
header("Content-Type: text/plain; charset=utf-8");
我尝试了utf8_encode() 和iconv() 的各种组合,但均无济于事。有人可以在这里指出我正确的方向吗?
【问题讨论】:
-
您是否检查过您的 Adobe InDesign 是否将此数据视为 utf-8?
标签: php mysql text encoding utf-8