Как я могу сохранить символ '€' в MySQL, используя PHP?
Я установил набор символов PHP на utf-8
:
header('Content-Type: text/html; charset=utf-8');
Я установил currency
колонка в MySQL для varchar(1)
с сопоставлением utf8_unicode_ci
,
Тем не менее, следующий код в PHP:
$currency = '€';
$sql = "UPDATE myTable SET currency = '$currency' WHERE user = '$user'";
mysql_query($sql);
Создает следующий символ в MySQL:
â
Как я могу получить €
символ правильно хранить в MySQL?
3 ответа
Решение
Убедитесь, что ваш файл сценария, файл, который содержит строку
$currency = '€';
кодируется UTF-8. У вас должна быть опция на этот счет в диалоговом окне "Сохранить как" вашего редактора или IDE.
Затем убедитесь, что ваше соединение также закодировано в UTF-8 - по умолчанию это ISO-8859-1.
После подключения к базе данных для MySQL до 5.0.7:
mysql_query("SET NAMES utf8");
Для MySQL 5.0.7 и новее:
mysql_set_charset("utf8");
Раздел "Работа с UTF-8 в Интернете" на этой странице содержит краткое изложение: http://dev.mysql.com/tech-resources/articles/4.1/unicode.html