Подтвердить что ты не робот

Арабский язык в php/mysql появляется "????" вопросительные знаки в html

Возможный дубликат:
Сохранить данные на арабском языке в базе данных MySQL

У меня возникла проблема с извлечением арабских данных из базы данных MYSQL с помощью PHP, она появляется как вопросительные знаки "????" в HTML:

  • У меня есть база данных с "utf8_general_ci" как сортировка.
  • База данных содержит некоторые данные на арабском языке.
  • Кодировка HTML - это "UTF-8".
  • Когда я пытался извлечь данные в HTML, он выглядит как "?????".

Пожалуйста, помогите!!!

4b9b3361

Ответ 1

вы должны установить charset в первом соединении с mysql по этому запросу:

SET CHARACTER SET utf8

например, в функциях mysqli

$MySQL_Handle = mysqli_connect(HOSTNAME,DATABASE_USERNAME,DATABASE_PASSWORD,DATABASE_NAME) 
or die ( mysqli_error($MySQL_Handle) ); 

$sSQL= 'SET CHARACTER SET utf8'; 

mysqli_query($MySQL_Handle,$sSQL) 
or die ('Can\'t charset in DataBase'); 

и образец PDO:

$dbh = new PDO('mysql:host=localhost;dbname=' . $DB_NAME, $DB_USER,
$DB_PASS, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'"));
$dbh->exec("SET CHARACTER SET UTF8");

это действие необходимо перед вставкой и перед выбором.