如何使用PHP在MySQL中存储'€'符号?

Ple*_*pMe 7 php mysql variables scope utf-8

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

header('Content-Type: text/html; charset=utf-8');
Run Code Online (Sandbox Code Playgroud)

我已经将currencyMySQL中的列设置为varchar(1)整理utf8_unicode_ci.

但是,PHP中的以下代码:

$currency = '€';
$sql = "UPDATE myTable SET currency = '$currency' WHERE user = '$user'";
mysql_query($sql);
Run Code Online (Sandbox Code Playgroud)

在MySQL中生成以下字符:

â
Run Code Online (Sandbox Code Playgroud)

如何让符号在MySQL中正确存储?

Pek*_*ica 15

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

$currency = '€';
Run Code Online (Sandbox Code Playgroud)

编码为UTF-8.您应该在编辑器或IDE的"另存为"对话框中选择该效果.

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

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

mysql_query("SET NAMES utf8");
Run Code Online (Sandbox Code Playgroud)

对于mySQL 5.0.7和更新版本:

mysql_set_charset("utf8");
Run Code Online (Sandbox Code Playgroud)