alexa  Menu
türkçe karakter sorunu
Türkçe karakter sorunu kesin çözüm!

  29.08.2014 ,   6 yorum ,   50.119 kez okundu.


Bu yazımda aslında artık bu sorunu yaşamıyoruz diye düşündüğüm, fakat son günlerde çok karşılaştığım için paylaşma gereği duyduğum “Türkçe Karakter” sorununu çözmek için neler yapabileceğimizi paylaşacağım.

Paylaşacağım işlemleri yaparak hem sayfanızdaki, hem de veritabanınızdaki sorunları çözmüş olacağız.

Öncelikle oluşturmuş olduğunuz sayfalarınızda her zaman met etiketi kullanarak karakter kümesini belirtiniz. Bunun için meta etiketinizi tüm sayfalarınızda head etiketleri arasına yazmanız gerekiyor.

 

Yukarıda yazmış olduğum HTML kodları HTML 5 için geçerlidir.

HTML 5`ten daha önceki sürümler için aşağıdaki meta etiketini head etiketleri arasında kullanabilirsiniz:

Şimdi gelelim işin PHP daha doğrusu MySQL kısmına. Sayfamızda elle eklediğimiz yazılarda türkçe karakter sorunu yaşamamamız için yukarıda belirtmiş olduğum meta etiketini kullanmamız işimizi görecektir. Fakat php ile kodladığımız bir sayfada MySQL veritabanına eklemeye çalıştığımız verilerde türkçe karakter sorunu yaşamamak için de birkaç işlem yapmamız gerekir.

Öncelikle veritabanı oluştururken karşılaştırma bölümünden utf8_turkish_ci seçmemizde fayda var.

mysql

Ardından php ile yazacağınız veritabanı bağlantı kodlarından sonra SET NAMES UTF8 sorgusunu çalıştırmamız gerekiyor. Veritabanı bağlantı kodları ve sorgumuz aşağıdaki gibi olacaktır:

Fakat bir hususu unutmamamız gerekiyor. Eğer kodlarınızı yazdıysanız ve türkçe karakter sorunu yaşıyorsanız mysql bağlantınızdan sonra “SET NAMES UTF8” sorgusunu kodlarınıza sonradan ilave ettiyseniz, o zaman sorununuz çözülse bile veritabanındaki bilgileriniz artık sorunlu kaydedildiği için, o bilgileri güncellemeniz gerekebilir.

Evet bu işlemleri yaptıktan sonra sayfanızda türkçe karakter sorunu yaşamamanız gerekmektedir. Tabiki %100 sorun olmayacak demek mümkün değil ancak açıkcası ben şuana kadar yaşamadım 🙂

İyi çalış

1 yıldız2 yıldız3 yıldız4 yıldız5 yıldız (8 votes, average: 3,38 out of 5)
Loading...


online öğren

youtube kanalım

wordpress tema dersleri

bootstrap dersleri

Bunlar da ilginizi çekebilir

6 yorum / geribildirim
  1. 08.11.2015, 5:37:24 tarihinde Kemal Cagayan demiş ki:

    merhaba.. Aynen DediğinizGibi yaptım ama… Elimdeki sistem bir Portal. içerik eklediğimde Örneğin ” YAĞMUR ” Kelimesini kullanmıssam. Mysql da bu veri su sekılde kayıt oluyor “YA” yani “Ğ” Harfinden sonrası yok… Veryi Siteme çektiğimde de “YA” yazıyor gerisi yok..

  2. 20.03.2016, 0:25:46 tarihinde Mert demiş ki:

    Merhaba,

    Yaptığım kontrollerde tüm yazdıklarınızı yaptığımı gördüm. Verileri düzgün çekip kaydedebiliyorum fakat range(‘A’, ‘Z’) fonksiyonundan ingiliz alfabesi çıkıyor. Bu konuda yardımcı olabilir misiniz?

  3. 25.05.2016, 14:56:29 tarihinde Raşit Gökce demiş ki:

    Yeni başladım bu işe düzelttiğim ilk sorun 🙂 Teşekkürler hocam

  4. 15.06.2016, 17:20:30 tarihinde Gürkan demiş ki:

    Merhaba;
    phpMyadmin deki tablolarda Türkçe karakter konusunda sıkıntı yok. Sayfanın görüntülenmesinde de sıkıntı yok. Fakat phpMyadmin içindeki bir tabloya dışarı aktar csv ms Excel yap dediğim zaman ğ,ü,ş,ç,ö,ı harfleri başka şekiller çıkarıyor. Bunu nasıl düzeltirim.

  5. 18.10.2016, 11:58:37 tarihinde Bilal demiş ki:

    ben bu şekilde bir fonksiyon oluşturdum. mail gönderirken türkçe karakter sorunu oluyordu. sorunun çözümü hexodecimal karakter tablosunda…

    function utf8($isim){
    $bulunacak = array(chr(105),chr(73),’ç’,’Ç’,chr(305),chr(304),’ğ’,’Ğ’,’ü’,’Ü’,’ö’,’Ö’,’ş’,’Ş’,’ ‘);
    $degistir = array(‘=69′,’=49′,’=C3=A7′,’=C3=87′,’=C4=B1′,’=C4=B0′,’=C4=9F’,’=C4=9E’,’=C3=BC’,’=C3=9C’,’=C3=B6′,’=C3=96′,’=C5=9F’,’=C5=9E’,’=20′);
    $isim=str_replace($bulunacak, $degistir, $isim);
    return(“=?utf-8?Q?$isim?=”);
    }

Güvenlik kodu *