我试图制作一个注册表单,人们将获取该链接并输入他们的信息,然后将其存储在数据库中。不幸的是,当我尝试使用表单输入阿拉伯语信息时,它将作为未知字符存储在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));
}
不知道造成这种情况的原因是什么,我需要快速修复。
答案 0 :(得分:0)
这解决了这个问题。
{{1}}