На самом деле не имеет значения, какая кодировка используется для хранения строк в базе данных, поскольку большинство кодировок (включая iso-8859-1 по умолчанию) может представлять u-umlaut. MySql поддерживает кодировку, поэтому он преобразуется в utf-8, если для соединения установлено utf-8.

я есть следующий очень простой код, который извлекает данные 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);
    }

Ответы на вопрос(2)

Ваш ответ на вопрос