使用php将阿拉伯文本存储在mysql数据库中

我正在尝试将一些阿拉伯数据存储在mysql数据库中
我已将html文档字符集设置为’utf8′

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

MySQL字符集设置为:UTF-8 Unicode(utf8)

MySQL连接排序规则设置为:utf8_general_ci

数据库和表的排序规则设置为:utf8_general_ci

另外,在我的PHP代码中,我使用了$mysqli-> set_charset(“ utf8”)函数来确保将字符集设置为ut8,但实际上没有任何作用,我使用html形式将数据发布到php脚本中,其中enctype为:enctype =“ multipart / form-data”,因为在此表单中我还上传了一张图片

奇怪的是,当我直接在mysql中编写查询时,阿拉伯字符正确存储而没有问题,但是当我使用php查询存储数据时,所有字符都以错误的字符集编码存储

有什么建议么 ?

解决方法:

奇怪,应该起作用!

成功连接到数据库后,尝试添加以下行:

$mysqli->query("SET NAMES 'utf8'");
$mysqli->query("SET CHARACTER SET utf8");

例如:

$mysqli = @new mysqli('DB_HOST', 'DB_USER', 'DB_PASS', 'DB_NAME');

if($mysqli->connect_errno) die('Connection Error!');
else{
    $mysqli->query("SET NAMES 'utf8'");
    $mysqli->query("SET CHARACTER SET utf8");
}

并在您的php页面的头部添加以下META标签:

<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
上一篇:PHP连接MySQL


下一篇:数据库 mysql