PHP没有正确显示一些UTF-8字符
PHP正在从MySQL数据库中重新获取数据。现在假设将结果显示在屏幕上,但是由于我的数据库包含像(ä,ö,ü,õ)这样的字符,哪个PHP显示( ,䄔)。数据库正确显示所有字符,所以我不认为问题在那里。PHP没有正确显示一些UTF-8字符
我在代码中添加了以下行,它将字符集设置为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的运行重要组成部分。
在这种情况下请考虑以下几点。
确保标题匹配以下
Content-Type:text/html; charset=UTF-8
,并尝试设置UTF-8 HTML
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
源文件编码可以使问题时,字符串中的文件是硬编码。由于这个文件回应它似乎没有问题。
你也可以调用'header('Content-Type:text/html; charset = UTF-8');'在非常开始或您的代码 – am05mhz
当时我曾尝试过该解决方案,但发现问题出在java客户端程序中。无论如何,仍然是很好的解决方案,也许它会帮助别人 –
请遵循以下示例,包括错误输出 - 您遇到错误吗? http://php.net/manual/en/mysqli.set-charset.php – rybo111
之前试过,没有得到任何错误。 –
你有没有做过这个https://www.w3schools.com/tags/att_meta_charset.asp – rybo111