当我将波斯数据插入数据库时,数据将保存为:†Ø¯Ø± 50 لیتری
但是当我从数据库中读取数据并在网络上回显时,它们就是好的。
我需要直接读取数据库中的数据。 你的解决方案是什么?
Mysql设置:
服务器连接排序规则:UTF8_general_ci
Html文件字符集是utf8。
答案 0 :(得分:5)
我有同样的问题,这段代码:mysqli_set_charset($con, "utf8");
解决了我的问题!
答案 1 :(得分:2)
你应该使用这段代码
$yourConnection->set_charset("utf8");
例如
function insertUser($inUN,$inP,$inFN,$inLN,$inE,$inD)
{
$servername="localhost";
$username="mnr";
$password="milad1373";
$databacename="mnr01";
$conn = new mysqli($servername, $username, $password, $databacename);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$conn->set_charset("utf8");
$sql = "INSERT INTO chuser (username, passWord, fname,lname,email,date)
VALUES ('$inUN', '$inP','$inFN','$inLN', '$inE','$inD')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
我遇到了这个问题,但是这个代码已经解决了 有关更多信息,请转至this link
答案 2 :(得分:1)
确保您已执行
SET character_set_results=utf8
SET NAMES 'utf8'
发送任何INSERT
命令之前。
有关详细信息,请查看此问题。我认为这可能会有所帮助;
答案 3 :(得分:0)
解决:
连接
<?php
$dbLink = mysql_connect($argHost, $argUsername, $argPassword);
mysql_query("SET character_set_results=utf8", $dbLink);
mb_language('uni');
mb_internal_encoding('UTF-8');
mysql_select_db($argDB, $dbLink);
mysql_query("set names 'utf8'",$dbLink);
?>
答案 4 :(得分:0)
您应在phpmyadmin中将排序规则更改为utf8_unicode_ci
:
utf8_unicode_ci
。if (!$connection->set_charset("utf8")) { printf("Error loading character set utf8: %s\n", $mysqli->error); exit(); } else { printf("Current character set: %s\n", $connection->character_set_name()); }