PHP MySQL Греческие буквы, показанные как ???? Метки

У меня есть таблица с текстом и текстом – греческие буквы, когда я использую инструмент sql и выбираю данные из этой таблицы, показывая правильно Изображение для SQL-запросов

Но когда я показываю этот интерфейс своего сайта с использованием массива mysql_fetch, и когда эхо отображается, как показано ниже введите описание изображения здесь

Кто-нибудь знает, как исправить эту ошибку, спасибо.

Solutions Collecting From Web of "PHP MySQL Греческие буквы, показанные как ???? Метки"

попробуйте следующее:

после подключения к mysql выполните этот запрос, чтобы убедиться, что вы используете UTF8:

mysql_query("SET NAMES 'utf8'"); mysql_query("SET CHARACTER SET 'utf8'"); 

убедитесь, что в HTML (head) вы используете правильную кодировку, попробуйте:

 <meta http-equiv="content-type" content="text/html; charset=UTF-8"> 

если это не помогает, попробуйте различную кодировку, например, ISO-8859-1

Попробуй это:

 mysqli_set_charset($con, "utf8"); 

После подключения к БД.

Оставляя это здесь для тех, кто приходит на этот сайт через Google, потому что у них такая же проблема, но вместо этого используется PDO (например, я) – с вами все в порядке:

 $dns = "mysqli:host=localhost;dbname=db_name"; $pdo = new PDO($dns, 'db_user', 'db_pass', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8')); $pdo->exec("SET CHARACTER SET 'utf8'"); 

Я потратил много часов, пока не понял это.

Вступление: греческие символы были ошибочными в mysql. Я применил qxxx- ответ на PHP и отлично работал. Затем мне пришлось перенести все на новый хост, а затем снова появилась проблема.

Что случилось?

Кодировка схемы MySQL была установлена ​​на латинский язык. Хранимые процедуры унаследовали набор символов схемы MySQL для своих параметров.

Итак, что я сделал:

  1. Выброшены процедуры и функции MySQL (убедитесь, что вы создаете резервную копию своего кода)

  2. Измененная кодировка по умолчанию MySQL (с использованием MySQL Workbench, щелкните правой кнопкой мыши по имени вашей базы данных – есть значок db ..)

  3. повторно созданы процедуры / функции MySQL

Кроме того, я оставил неповрежденным исправление qxxx !

Я столкнулся с такой же проблемой при внедрении греческих символов. Такие решения, как mysql_ query("SET NAMES 'utf8'"); mysql_query("SET CHARACTER SET 'utf8'"); query("SET NAMES 'utf8'"); mysql_query("SET CHARACTER SET 'utf8'"); не работал для меня. После Googling я обнаружил, что набор символов для сопоставления базы данных должен быть сделан greek_general_ci вместе с полем, в котором данные будут храниться как categoryname и т. Д. Это решило мою проблему.

Вам не нужно бросать столы или что-то еще. Используйте MySQL Workbench и перейдите в каждую таблицу, заменив Collocation на utf8 – general ci, а затем сделайте то же самое для каждого Varchar типа Colum – он находится в нижней части окна.