Ошибки APK

В PHP буква ə становится вопросительным знаком

Два места разные. Страница должна сказать, что она шлёт браузеру. Соединение с базой — как оно пишет текст.

Без заголовка браузер может прочитать страницу системной таблицей. Без charset в соединении MySQL может счесть текст latin1. На обоих путях ə становится ?.

Сам файл тоже надо сохранить в UTF-8. Заголовок PHP не чинит байт внутри файла.

  • В начале каждой страницы поставь header("Content-Type: text/html; charset=utf-8").
  • В строке PDO напиши charset=utf8mb4. DSN без charset может превратить ə в ?.
  • Если используешь mysqli, после соединения вызови mysqli_set_charset($baglanti, "utf8mb4").
  • Сохрани файл .php как UTF-8. Если редактор выбрал ANSI, буква в файл так и не попала.
  • Если буква в таблице уже ?, смена заголовка её не вернёт. Запиши строку заново.
<?php
header("Content-Type: text/html; charset=utf-8");
$baglanti = new PDO(
    "mysql:host=127.0.0.1;dbname=magaza;charset=utf8mb4",
    "root",
    ""
);
echo "Azərbaycan";

Похожие руководства