Türkçe Karakter sorunu çözümü

PHP

Merhaba arkadaşlar, bazı uygulamalarda Türkçe karakter kullanmak sorun yaratabiliyor. Eğer php tabanlı bir uygulama geliştiriyorsanız aşağıdaki kodu sayfanızın en üst kısmına ekleyerek sorunu çözebilirsiniz:

<?php
header("Content-Type: text/html; charset=ISO-8859-9");
?>

Eğer sorun hala devam ediyorsa bir diğer yöntem de Türkçe karakterler yerine Unicode karşılıklarını kullanmaktır.

Harf: İ Numerik Kodu: &#304;
Harf: ı Numerik Kodu: &#305;
Harf: Ö Numerik Kodu: &#214;
Harf: ö Numerik Kodu: &#246;
Harf: Ü Numerik Kodu: &#220;
Harf: ü Numerik Kodu: &#252;
Harf: Ç Numerik Kodu: &#199;
Harf: ç Numerik Kodu: &#231;
Harf: Ğ Numerik Kodu: &#286;
Harf: ğ Numerik Kodu: &#287;
Harf: Ş Numerik Kodu: &#350;
Harf: ş Numerik Kodu: &#351;

6 Yorum

  1. Merhaba
    Ben tüm php dosyalarımın header tagında utf8 dilini seçtim
    mysql tablo ve tablo verilerinin dilini utf8_general_ci seçtim
    configirasyon dosyalarımda utf8_general_ci şeklinde.

    Şimdi sorunum şu. php sayfalarımdan Mysql veri tabanına gönderdiğim Türkçe karakterler (örneğin ŞEKER) veritabında (ÅžEKER) bu şekilde görünüyor. php sayfalarında veriyi çağırıp yazdırdığımda ise ŞEKER şeklinde yazıyor ama ORDER BY ile sıralamada ŞEKER kelimesini A… ile B… harfi arasına yer alıyor.

    Joomla yı incelediğimde ise onun da MySQL veritabanında ytf8_general_ci dilini kullandığını gördüm. Ama veritabanında Türkçe karakterler Türkçe şekilleri ile kaydedilmiş. Yani ŞEKER olarak görünüyor. Bu yüzden PHP ORDER BY komutu ile listeleme işlemini de doğru yapıyor.

    Benim sorunum sanırım veritabanına Türkçe karakterleri Türkçe olarak kaydettirememek, bunu nasıl yapabilirim?

  2. Merhabalar. Bu kodu ekledim ancak şimdide kare şeklinde çıkıyor Türkçe karakterler. Nasıl çözebilirim acaba?

  3. Çok teşekkürler.
    php ile dosya listeleme yaparken dosyalardaki Türkçe karakterleri düzeltmede işe yaradı :)

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir