APK hataları

PHP'de ə harfi soru işareti olur

İki yer ayrıdır. Sayfa tarayıcıya ne gönderdiğini söylemeli. Veritabanı bağlantısı ise metni nasıl yazdığını.

Başlık yoksa tarayıcı sayfayı sistem tablosuyla okuyabilir. Bağlantıda charset yoksa MySQL metni latin1 sayabilir. İki yolda da ə ? olur.

Dosyanın kendisi de UTF-8 kaydedilmelidir. PHP başlığı dosyanın içindeki baytı düzeltmez.

  • Her sayfanın başında header("Content-Type: text/html; charset=utf-8") olsun.
  • PDO satırında charset=utf8mb4 yaz. charset olmayan DSN ə harfini ? yapabilir.
  • mysqli kullanıyorsan bağlantıdan sonra mysqli_set_charset($baglanti, "utf8mb4") çağır.
  • .php dosyasını UTF-8 kaydet. Düzenleyici ANSI seçtiyse harf dosyaya hiç girmez.
  • Tabloda harf çoktan ? olduysa başlığı değiştirmek onu geri getirmez. Satırı yeniden yaz.
<?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";

İlgili rehberler