Этот вопрос закрыт для ответов, так как повторяет вопрос Почему вместо кириллицы знаки вопросов?
@laflare

Знаки вопроса вместо вывода из бд на хостинге?

Загрузил сайт на хостинг и вместо русских букв знаки вопроса.
Помогите пожалуйста решить эту проблему.

Вот тестовый код:
<p style="font-weight: bold">Products:</p>
<br>
<?php
require "../php/db/connect-db2.php";
 $products = mysqli_query($connect, "SELECT * FROM products ORDER BY id DESC");
 while($product = mysqli_fetch_assoc($products)) echo $product['product_title'];?>


606ca5a21d8e3206742833.jpeg
  • Вопрос задан
  • 637 просмотров
Решения вопроса 1
@ior
  • Во-первых, в базе данных строки хранятся не просто "как есть", а в определённых кодировках. Всё ли у вас настроено корректно. Если база данных на стороне хостинг-провайдера, с большой долей вероятности вам об этом можно не переживать и смело переходить к следующим пунктам.
  • Во-вторых, проверьте что именно вы вставляете - в какой кодировке? Понимаю, звучит банально, но человеческий фактор ещё никто не отменял. Ошибаются все.
  • Третье - это вывод на страницу. Если приведённый вами пример - это действительно всё, что есть на странице, то это совершенно не верный подход. Сверстайте страницу в соответствии со стандартом. Укажите стандарт - это XHTML 1.1 или HTML 5? Что это, как браузер должен интерпретировать эти данные? Укажите наименование страницы, пропишите заголовок и тело страницы. Кодировка текста на странице должна быть указана вами в заголовке страницы в явном виде. Более того, хорошим шагом было бы указание и языка страницы. Если используете кодировку UTF-8, на каком языке представлен на ней текст - это французский, английский, русский?
  • Четвёртое - локализуйте проблемы. Попробуйте вывести что-нибудь на страницу не латиницей и не из базы данных. Вбейте что-нибудь по-русски. Например, "Products" замените на "Товары". Если и эта строка стала отображаться некорректно - неправильно установлена (или не установлена вовсе) кодировка страницы. Если всё отображается по-русски, кроме информации из БД - проверьте, что конкретно в неё записывается и в какой кодировке.


P.S. Самое простое (и лучшее), что вы можете сделать - это всегда и везде использовать UTF-8 - в исходниках и при наполнении баз данных.
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы