一尘不染

如何使用PHP在MySQL中存储“€”符号?[重复]

mysql

我将PHP字符集设置为utf-8

header('Content-Type: text/html; charset=utf-8');

我已经将currencyMySQL中的列设置为varchar(1)collat​​ion utf8_unicode_ci

但是,PHP中的以下代码:

$currency = '€';
$sql = "UPDATE myTable SET currency = '$currency' WHERE user = '$user'";
mysql_query($sql);

在MySQL中产生以下字符:

â

如何获得符号以正确存储在MySQL中?


阅读 236

收藏
2020-05-17

共1个答案

一尘不染

确保您的 脚本文件 (包含该行的文件)

$currency = '€';

编码为UTF-8。您应该在编辑器或IDE的“另存为”对话框中选择一种效果。

然后确保您的 连接 也是UTF-8编码的-默认情况下为ISO-8859-1。

连接到数据库后,对于5.0.7 之前 的mySQL :

mysql_query("SET NAMES utf8");

对于mySQL 5.0.7及更高版本:

mysql_set_charset("utf8");
2020-05-17