+ Yanıtla
Toplam 9 sonuçtan 1 ile 9 arası olanlar

Konu Başlığı: PHP Türkçe Karakter Sorunu

  1. #1

    PHP Türkçe Karakter Sorunu

    Merhabalar,

    Kendimce bir script yazdım, türkçe karakter kullandığım zaman ? işareti cıkıyor..Bu konuyu baya bir araştırdım çeşitli kaynaklardan. Ama bir sonuca ulaşamadım.
    PHP 5 kullanıyorum..

    Kendimce bir cok şey denedim..
    İlk başta database tablolarımın latin1(default) e göre ayarlandığını düşündüm, ama değiller.


    zaten en baştan charsetim <meta http-equiv="Content-Type" content="text/HTML; charset=utf-8" /> olarak ayarlı.

    Ek olarak sitelerden aldığım bilgilere göre koyu ile yazılmış kodları da denedim sonuc yok.. Bu iş ciddi anlamda canımı sıkmaya başladı.
    <?PHP
    $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to MySQL');
    mysql_select_db($dbname, $conn) or die ("Database sec olm");
    mysql_query("SET NAMES 'latin5'");
    mysql_query("SET CHARACTER SET latin5");
    mysql_query("SET COLLATION_CONNECTION = 'latin5_turkish_ci'");

    ?>


    Sitemin son hali:



    .Cözüm önerileri olan?

    Teşekkürler herkese

  2. #2

    Re: PHP Türkçe Karakter Sorunu

    latin5 yerine utf8 kullan derim; tabii türkçe karakter geçen tüm dosyaları (PHP/HTML) de dosya tipinden utf8 olarak kaydetmeli ve db'de de aynı charmap'i kullanmalısın.

  3. #3

    Re: PHP Türkçe Karakter Sorunu

    acıkcası onu da denedim..ama sonuc vermedi

  4. #4

    Re: PHP Türkçe Karakter Sorunu

    <meta http-equiv="Content-Type" content="text/HTML; charset=utf-8" />
    sayfan utf-8 veritabanı latin5 olduğu için karakterlerin bozuk olması normal.
    Ya bu karakter setini iso-8859-9 olarak ayarla ya da veritabanını utf8 e çevir.

  5. #5

    Re: PHP Türkçe Karakter Sorunu

    Bildiğim kadarıyla, latin5 ile uyumlu charset "ISO-8859-9".


    Ayrıca sorun sadece bundan kaynaklanmıyorsa;

    veri tabanını kontrol ettiniz mi? Karakterler "?" olarak mı kaydedilmiş yoksa doğru mu kaydedilmiş?

    Doğru kaydedilmişse

    PHP Kodu:
    mysql_query("SET NAMES 'latin5'");
    mysql_query("SET CHARACTER SET latin5");
    mysql_query("SET COLLATION_CONNECTION = 'latin5_turkish_ci'"); 
    kodlarını sadece kaydederken kullandınız galiba; verileri çekerken de kullanmanız gerekiyor.

  6. #6

    Re: PHP Türkçe Karakter Sorunu

    index.PHP deki

    <meta http-equiv="Content-Type" content="text/HTML; charset=utf-8" />
    değerini
    <meta http-equiv="Content-Type" content="text/HTML; charset=iso-8859-9">

    olarak değiştirdim değişen birşey yok


    +++++

    ???&Uuml;?Ai??&ouml;&ccedil;&ccedil;<br/>

    veri tabanındaki kaydı bu, sanırım soru işareti olarak saklanmış

  7. #7

    Re: PHP Türkçe Karakter Sorunu

    karakter setini değiştirdikten sonra kaydettiğiniz veriler de mi böyle kaydoluyor?

  8. #8

    Re: PHP Türkçe Karakter Sorunu

    ya zaten SQL deki karakter latin-5

    index.PHP deki charset: <meta http-equiv="Content-Type" content="text/HTML; charset=utf-8" />

    ben anlamıyorum neden database e ? olarak işleniyor..

    show_news.PHP diye bir sayfam var.. Bu sayfada haberler gösteriliyor. İşin ilginc yanı ise show_news.PHP de karakterler cıkıyor
    ama onun include olduğu index.PHP de soru işareti olarak cıkıyor..

    bakınız eklere
    Ekli Dosya(lar)
    • Dosya Uzantısı: png 1.PNG (6.2 KB, 12 defa görüntülendi)
    • Dosya Uzantısı: png 2.PNG (5.2 KB, 9 defa görüntülendi)

  9. #9

    Re: PHP Türkçe Karakter Sorunu

    SQL daki karakter seti latin5 ise, sayfada neden utf kullanıyorsunuz?

    veritabanında latin5_turkish_ci kullandığınıza göre

    sayfada <meta http-equiv="Content-Type" content="text/HTML; charset=iso-8859-9"> bu tagı kullanıp,

    hem veri girdiğiniz sayfada hemde veri çektiğiniz sayfada
    mysql_query("SET NAMES 'latin5'");
    mysql_query("SET CHARACTER SET latin5");
    mysql_query("SET COLLATION_CONNECTION = 'latin5_turkish_ci'");

    kodlarını kullanıp.

    yeni girişler
    yaparsanız, eminim sorun kalmayacaktır.

+ Yanıtla

Bu konu başlığı için etiketler

Mesaj Seçenekleri

  • Yeni başlık açamazsınız
  • Cevap yazabilirsiniz
  • Dosya ekleyemezsiniz
  • Mesajlarınızı değiştiremezsiniz