我有以下非常简单的代码,它检索utf8格式的数据,例如从mysql数据库中包含元音,它可能被设置为utf8,也可能不被设置为mysql。如果我使用这两种注释掉的方法中的任何一种来确保返回utf8数据,那么数据将不会以utf8的形式返回,但是如果我不使用它们,数据将会显示出来。为什么强制utf8会否定将数据显示为utf8?
<?php
$con = mysqli_connect("localhost", "x", "", "x");
//$con->query("SET NAMES 'utf8'");
//$con-set_charset('utf8');
$recordsQuery = "SELECT ARTICLE_NAME FROM AUCTIONS1";
if ($getRecords = $con->prepare($recordsQuery)) {
$getRecords->execute();
$getRecords->bind_result($ARTICLE_NAME);
while ($getRecords->fetch()) {
echo "<p>$ARTICLE_NAME";
}
} else {
print_r($con->error);
}发布于 2009-03-08 21:40:03
也许错误出在您为页面提供服务的字符集上。如果您从数据库中获取UTF-8内容,并使用默认的HTML字符集Windows-1252提供它,那么它看起来就像乱码。请确保您拥有与以下内容等效的内容:
header( 'Content-Type: text/html; charset=utf-8' );在你的PHP代码中。
发布于 2009-03-08 22:13:04
确保您的数据已在database
如果您仍然有问题,请提供更多数据,特别是预期和最终交付的数据
https://stackoverflow.com/questions/624301
复制相似问题