我开发了一个 PHP/MySQL 应用程序,其中存储了一个表名。这些名称有时包含特殊字符(如 é、à、ë、...)。
创建表时,我忘记将搭配项设置为 UTF-8,现在设置为 LATIN1_SWEDISH_CI。所以有些数据在 phpMyAdmin 中显示不正确。但是当我在 PHP 页面上显示名称时,这些特殊字符会正确显示。这是我使用 UTF-8 的 PHP 文件的摘录
<?php ... ?>
<html>
<head>
<meta http-equiv="Content-Type" content-"text/html; charset="UTF-8">
....
就像我说的那样,特殊字符会按应有的方式显示。到目前为止……没问题。
但现在我想将该数据导出到 CSV 文件中,你猜怎么着?CSV 文件中不包含特殊字符。我的 PHP 导出文件包含以下代码行:
<?php
mysql_query("SET NAMES utf8");
header('Content-Type: text/html; charset=UTF-8');
...
但是没有显示特殊字符?
有没有人有这个问题的解决方案?因为我觉得在 Excel 中打开 CSV 并使用“查找和替换”有点荒谬。使用 HTML 转义码是不可能的。这就是为什么有 UTF-8 的原因,不是吗?