在数据库中存储阿拉伯语字符的问题

时间:2016-10-21 14:40:41

标签: mysql phpmyadmin unicode

我试图制作一个注册表单,人们将获取该链接并输入他们的信息,然后将其存储在数据库中。不幸的是,当我尝试使用表单输入阿拉伯语信息时,它将作为未知字符存储在PhpMyAdmin中。 我试过以下但没有成功。

  • 在索引中设置默认字符集,如下所示:

    $cfg['DefaultCharset'] = 'utf_8';
    $cfg['DefaultConnectionCollation'] = 'utf8_general_ci';
    
  • 在数据库处理程序页面中设置默认字符集:

    utf8_general_ci
  • 将数据库归类更改为utf8_general_ci

  • 将表格排名更改为<form action="signup.php" method="POST" class="form"> <input type="text" name="first"><br /> <input type="text" name="uid"><br /> <input type="date" name="dob"><br />

  • 导出为sql并编辑charset但我发现它已经是UTF-8了。

  • 确保我的浏览器unicode设置为UTF-8。

这就是它如何运作的一个例子:

$first = $_POST['first'];
$uid = $_POST['uid'];
$dob = $_POST['dob'];

$sql = "INSERT INTO students (first, uid, dob)
 VALUES ('$first','$uid', '$dob')";

$result = mysqli_query($conn, $sql);

-

$cfg['DefaultCharset'] = 'utf_8';
$cfg['DefaultConnectionCollation'] = 'utf8_general_ci';

$conn = mysqli_connect("localhost", "root", "", "test2");

if (!$conn ) {
    die("Connection failed: ". mysqli_connect_error());

}

他们通过所需文件连接到数据库。

if (!mysqli_set_charset($conn, "utf8")) {
    printf("Error loading character set utf8: %s\n", mysqli_error($conn));
    exit();
} else {
    printf("Current character set: %s\n", mysqli_character_set_name($conn));
}

不知道造成这种情况的原因是什么,我需要快速修复。

Preview of the error

1 个答案:

答案 0 :(得分:0)

这解决了这个问题。

{{1}}