utf8 не работает в php после запроса получения данных с bd? - PullRequest
0 голосов
/ 24 апреля 2019

Я выполняю поиск по автозаполнению, и когда я получаю данные из поиска, он не приходит в utf8, но все страницы имеют utf8, и мой .htaccess даже имеет «AddDefaultCharset UTF-8».

Все работает нормально, за исключением результатов, отображаемых в бриллиантовой рамке с вопросительным знаком.Я пытался декодировать (), но у меня это не сработало.Любые идеи, как я могу отфильтровать результаты, чтобы прийти в UTF8?

<?php
/* Attempt MySQL server connection. Assuming you are running MySQL
server with default setting (user 'root' with no password) */
$link = mysqli_connect("localhost", "root", "", "vamos_onde");

// Check connection
if($link === false){
    die("ERROR: Could not connect. " . mysqli_connect_error());
}

if(isset($_REQUEST["term"])){
    // Prepare a select statement
    $sql = "SELECT locals.id, locals.name, locals.adress, locals.type, locals.image, locals.opening, locals.closing, locals.ranking, GROUP_CONCAT(music_type.category ORDER BY locals.id SEPARATOR ', ') AS category FROM locals JOIN music_type ON FIND_IN_SET(music_type.id, locals.category_id) WHERE locals.active = 1 AND locals.name LIKE ? OR category LIKE ? GROUP BY locals.id";

if($stmt = mysqli_prepare($link, $sql)){
    // Bind variables to the prepared statement as parameters
    mysqli_stmt_bind_param($stmt, "ss", $param_term, $param_term);

    // Set parameters
    $param_term = $_REQUEST["term"] . '%';

    // Attempt to execute the prepared statement
    if(mysqli_stmt_execute($stmt)){
        $result = mysqli_stmt_get_result($stmt);

        // Check number of rows in the result set
        if(mysqli_num_rows($result) > 0){
            // Fetch result rows as an associative array
            while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
              $local_r = '';
                echo "
            <div class='display_search'>
            <a href='locals/show/" . $row['id'] . "'>
                  <div class='display_search_results'>

                      <div class='display_search_results_image'>

                        <img src='assets/images/locals/" . $row['image'] . "' alt='" . $row['name'] . "'>

                      </div>
                      <div class='display_search_results_info'>
                        <p> " . $row['name'] . " " . $row['adress'] . " </p>
                        <p> " . $row['category'] . "</p>
                      </div>
                      <div class='display_search_results_ranking'>";

                      $local_r = $row['ranking'];

                      switch ($local_r) {
                        case $local_r == 5:
                          echo "<i class='fas fa-star'></i><i class='fas fa-star'></i><i class='fas fa-star'></i><i class='fas fa-star'></i><i class='fas fa-star'></i>";
                          break;
                        case $local_r >= 4.5:
                          echo "<i class='fas fa-star'></i><i class='fas fa-star'></i><i class='fas fa-star'></i><i class='fas fa-star'></i><i class='fas fa-star-half-alt'></i>";
                          break;
                        case $local_r >= 4:
                          echo "<i class='fas fa-star'></i><i class='fas fa-star'></i><i class='fas fa-star'></i><i class='fas fa-star'></i><i class='far fa-star'></i>";
                          break;
                        case $local_r >= 3.5:
                          echo "<i class='fas fa-star'></i><i class='fas fa-star'></i><i class='fas fa-star'></i><i class='fas fa-star-half-alt'></i><i class='far fa-star'></i>";
                          break;
                        case $local_r >= 3:
                          echo "<i class='fas fa-star'></i><i class='fas fa-star'></i><i class='fas fa-star'></i><i class='far fa-star'></i><i class='far fa-star'></i>";
                          break;
                        case $local_r >= 2.5:
                          echo "<i class='fas fa-star'></i><i class='fas fa-star'></i><i class='fas fa-star-half-alt'></i><i class='far fa-star'></i><i class='far fa-star'></i>";
                          break;
                        case $local_r >= 2:
                          echo "<i class='fas fa-star'></i><i class='fas fa-star'></i><i class='far fa-star'></i><i class='far fa-star'></i><i class='far fa-star'></i>";
                          break;
                        case $local_r >= 1.5:
                          echo "<i class='fas fa-star'></i><i class='fas fa-star-half-alt'></i><i class='far fa-star'></i><i class='far fa-star'></i><i class='far fa-star'></i>";
                          break;
                        case $local_r >= 1:
                          echo "<i class='fas fa-star'></i><i class='far fa-star'></i><i class='far fa-star'></i><i class='far fa-star'></i><i class='far fa-star'></i>";
                          break;
                        case $local_r >= 0.5:
                          echo "<i class='fas fa-star-half-alt'></i><i class='far fa-star'></i><i class='far fa-star'></i><i class='far fa-star'></i><i class='far fa-star'></i>";
                          break;
                        case $local_r >= 0:
                          echo "<i class='far fa-star'></i><i class='far fa-star'></i><i class='far fa-star'></i><i class='far fa-star'></i><i class='far fa-star'></i>";
                          break;
                      };"

                    </div>

                </div>
                  </a>
            </div> ";

            }
        } else{
            echo "<br><p>No matches found</p><br>";
        }
    } else{
        echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
    }
}

// Close statement
mysqli_stmt_close($stmt);
}

// close connection
mysqli_close($link);
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...