Проблемы UTF-8 PHP / MySQL

Я всегда использовал кодировку 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»