PHP正在从MySQL数据库中检索数据。现在它假设将结果显示到屏幕,但由于我的数据库包含像(ä,ö,ü,õ)这样的字符,PHP显示( ,䄔)。数据库正确显示所有字符,所以我认为问题不存在。
我在代码中添加以下行,将charset设置为UTF-8。
$conn->set_charset("utf8");
添加该行后,PHP会显示以下字符“”。
也尝试过:
$conn->query("SET character_set_results=utf8");
$conn->query("SET NAMES 'utf8'");
如何让PHP显示正确的字符?
这是我的代码的重要部分
$conn = new mysqli($servername, $username, $password, $dbname);
$sql = "SELECT name FROM employee";
$stmt = $conn->prepare($sql);
$stmt->execute();
$stmt->bind_result($employee);
while($stmt->fetch()){
echo "$employee|";
}
$stmt->close();
$conn->close();
我正在运行PHP 7和MySQL 10.1.19-MariaDB。
答案 0 :(得分:1)
在这种情况下考虑以下事项。
确保标题符合以下内容
Content-Type:text/html; charset=UTF-8
并尝试在html中设置UTF-8
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
当文件中的字符串被硬编码时,源文件编码会出现问题。由于这个文件回应它似乎没有问题。