提供的答案都很棒,我在Alnitak的回答中提到我需要查看我的CSV生成脚本,因为无论出于什么原因它都没有输出UTF-8.
正如正确指出的那样,它输出了UTF-8 - Ye Olde Microsoft Excel存在的问题并没有像我希望的那样获取编码.
我现有的CSV代看起来像:
// Create file and exit;
$filename = $file."_".date("Y-m-d_H-i",time());
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: csv" . date("Y-m-d") . ".csv");
header( "Content-disposition: filename=".$filename.".csv");
echo $csv_output;
Run Code Online (Sandbox Code Playgroud)
它现在看起来像:
// Create file and exit;
$filename = $file."_".date("Y-m-d_H-i",time());
header("Content-type: text/csv; charset=ISO-8859-1");
header("Content-disposition: csv" . date("Y-m-d") . ".csv");
header("Content-disposition: filename=".$filename.".csv");
echo iconv('UTF-8', 'ISO-8859-1', $csv_output);
Run Code Online (Sandbox Code Playgroud)
原始问题
嗨,
我有一个收集数据的表单,表单工作正常,但我注意到如果有人键入或使用'£'符号,MySQL DB最终会得到'£'.
不确定在何处或如何阻止这种情况发生,代码和数据库信息要遵循:
MySQL细节
mysql> SHOW COLUMNS FROM fraud_report;
+--------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra | …Run Code Online (Sandbox Code Playgroud)