可能重复:
在 MySQL 数据库中以阿拉伯语保存数据
我在使用 PHP 从 MYSQL 数据库中检索阿拉伯语数据时遇到问题,它显示为问号“????” 在 HTML 中:
- 我有一个以“utf8_general_ci”作为排序规则的数据库。
- 该数据库包含一些阿拉伯语数据。
- HTML 编码为“UTF-8”。
- 当我尝试以 HTML 格式检索数据时,它显示为“???????”。
请帮忙 !!!
可能重复:
在 MySQL 数据库中以阿拉伯语保存数据
我在使用 PHP 从 MYSQL 数据库中检索阿拉伯语数据时遇到问题,它显示为问号“????” 在 HTML 中:
请帮忙 !!!
您必须通过以下查询在第一次连接 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");
此操作需要在插入之前和选择之前。