Я всегда использовал кодировку ISO-8859-1, но теперь я перехожу к UTF-8.
К сожалению, я не могу заставить его работать.
Мой MySQL DB UTF-8, мой PHP-документ закодирован в UTF-8, я устанавливаю кодировку UTF-8, но она по-прежнему не работает.
(это специальные символы, такие как æ / ø / å, что не работает)
Надеюсь, вы, ребята, можете помочь!
Убедитесь, что соединение с вашей базой данных также использует этот набор символов:
$conn = mysql_connect($server, $username, $password); mysql_set_charset("UTF8", $conn);
Согласно документации mysql_set_charset
на php.net:
Note: This is the preferred way to change the charset. Using mysql_query() to execute SET NAMES .. is not recommended.
См. Также: http://nl3.php.net/manual/en/function.mysql-set-charset.php
Проверьте набор символов вашего текущего соединения:
echo mysql_client_encoding($conn);
См. Также: http://nl3.php.net/manual/en/function.mysql-client-encoding.php
Если вы сделали эти вещи и добавили странные символы в таблицу, вы увидите, что она отображается правильно.
Не забудьте также установить кодировку соединения в utf8.
В ext \ mysqli do $mysqli->set_charset("utf8")
В ext \ mysql выполните mysql_set_charset("utf8")
С другими расширениями db вам, возможно, придется запускать запрос типа SET NAMES 'utf8'
Более подробная информация о кодировке подключения в MySQL
Как отмечают другие, убедитесь, что ваш исходный код также закодирован в utf-8. Обратите особое внимание на отсутствие спецификации (Byte Order Mark) – она будет отправлена в браузер до того, как будет выполнен какой-либо код, поэтому использование заголовков или сеансов станет невозможным.
После подключения к db запустите запрос SET NAMES UTF8
$db = new db(...); $db->query('set name utf8');
и добавьте этот тег в заголовок
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
У вас такая ошибка? MySql SELECT UNION Недопустимое смешивание коллажей Ошибка? Просто установите весь mysql в utf 8, затем
SET character_set_connection = utf8;
Попробуйте это после подключения к mysql:
mysql_query("SET NAMES 'utf8'");
И закодируйте PHP-документ в UTF-8 без спецификации .
У меня была такая же проблема, но теперь она решена. Вот решение:
1st: update ur table ALTER TABLE tbl_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
2nd: добавьте это в раздел главы HTML-кода:
С уважением Салеха А.Латиф
В настоящее время PDO является рекомендуемым способом использования mysql. С этим вы должны использовать строку подключения для установки кодировки. Например: «mysql: host = $ host; dbname = $ db; charset = utf8»