У меня есть следующий очень простой код, который извлекает данные utf8 formatetd, например, содержащие умлауты из базы данных mysql, которые могут быть или не быть установлены как utf8. Если я использую один из закомментированных подходов, чтобы гарантировать, что данные 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);
}