php/mysql中的阿拉伯语出现"????" html中的问号

Cai*_*der 18 php mysql encode html-encode arabic

可能重复:
在MySQL数据库中以阿拉伯语保存数据

我在使用PHP从MYSQL数据库中检索阿拉伯数据时出现问题,它显示为问号"????" 在HTML中:

  1. 我有一个数据库,其中"utf8_general_ci"作为整理.
  2. 该数据库包含阿拉伯语的一些数据.
  3. HTML编码是"UTF-8".
  4. 当我尝试在HTML中检索数据时,它显示为"?????".

请帮忙 !!!

A1G*_*ard 38

你必须在第一次通过这个查询连接mysql时设置charset:

SET CHARACTER SET utf8
Run Code Online (Sandbox Code Playgroud)

例如在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'); 
Run Code Online (Sandbox Code Playgroud)

和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");
Run Code Online (Sandbox Code Playgroud)

这个动作需要在插入之前和选择之前.

  • 谢谢@Mahdi Parsa ..它有效:) (2认同)