Знак вопроса вместо русских букв (MySQL, PHP)

347
24 ноября 2017, 08:03

Имеется локальный сервер на основе Endels, база данных MySQL phonebook и таблица tblMain в кодировке utf8_general_ci. Браузер принудительно установлен на такую же кодировку. В настройках Apache кодировка по умолчанию тоже назначена UTF8. Через phpmyadmin содержимое таблицы просматривается в нормальном виде - русские буквы отображаются корректно, однако, когда вывожу содержимое на сайт вместо русских букв знаки вопроса.При проверке кодировки командой $charset = mysql_client_encoding($link);я получаю результат Текущая кодировка: latin1Откуда она берется не могу понять?!Использую следующий код соединения:

<?php
// Соединяемся, выбираем базу данных
                    $link = mysql_connect('localhost', 'phonebook', 'phonebook')
                            or die('Не удалось соединиться: ' . mysql_error());
                    $charset = mysql_client_encoding($link);
                    echo "Текущая кодировка: $charset\n";
                    // echo 'Соединение успешно установлено';
                    mysql_select_db('phonebook') or die('Не удалось выбрать базу данных');
// Выполняем SQL-запрос
                    $query = 'SELECT * FROM tblMain';
                    $result = mysql_query($query) or die('Запрос не удался: ' . mysql_error());
// Выводим результаты в html
                    echo "<table class=table table_price table-condensed table-striped>\n";
                    while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
                        echo "\t<tbody><tr>\n";
                        foreach ($line as $col_value) {                            
                            echo "\t\t<td>$col_value</td>\n";
                        }
                        echo "\t</tr></tbody>\n";
                    }
                    echo "</table>\n";
// Освобождаем память от результата
                    mysql_free_result($result);
// Закрываем соединение
                    mysql_close($link);
                    ?>

Что за кодировка latin1 и как ее сменить на нужную?!

Answer 1
  1. Создайте в корне проекта файл .htaccess
  2. Откройте файл и добавьте строчку

AddDefaultCharset UTF-8

READ ALSO
Привязка PHP скрипта к &ldquo;машине&rdquo;

Привязка PHP скрипта к “машине”

Здравствуйте, понимаю что вопрос звучит как извращение, но всё таки я должен его задатьМожно ли и как привязать скрипт к определенному компьютеру

225
php soap curl multiparted запрос для запроса с MTOM

php soap curl multiparted запрос для запроса с MTOM

Есть один SOAP-запросВ него надо вложить attachment с помощью MTOM\xop, делается это с помощью сообщения в таком виде:

411
Помогите перенести строки в массиве на новую строку в phpword

Помогите перенести строки в массиве на новую строку в phpword

Добрый день! Помогите перенести строки в phpword, 3 дня уже маюсь с этим вопросом Класс для переноса строки $survey_activity_1->addTextBreak(); Варианты в \r \n и прочим...

247
auto Update web site from bitbucket

auto Update web site from bitbucket

мы хотим обновлять сайт через битбакет

210