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

  29.08.2014 ,   11 yorum ,   75.162 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 (9 votes, average: 3,44 out of 5)
Loading...

11 yorum yapılmış
  1. Kemal Cagayan

    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..

    08.11.2015, 5:37:24
  2. Mert

    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?

    20.03.2016, 0:25:46
  3. Raşit Gökce

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

    25.05.2016, 14:56:29
  4. Gürkan

    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.

    15.06.2016, 17:20:30
  5. Bilal

    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?=”);
    }

    18.10.2016, 11:58:37
  6. Elcin

    Qardas bu ə problemini nece hell etmek olar

    24.02.2017, 11:10:39
  7. Aksiyon

    hocam çok sağol çook işime yaradı sorunu anında çözdüm sayenizde

    12.03.2017, 3:08:03
  8. SERKAN

    Merhaba E Ticaret sitesi kurdum Ama herkez dolandırdı gerçekte bana yardımcı olurmusunuz
    Favicon Canonical Malesef! H1 etiketiniz bulunamadı. Çalıştığınız anahtar kelime H1 etiketinde yer vermeniz gerekmektedir.
    SEO HOCASINDA ANALİZ YAPIYORUM SİTEMDE BUNLAR EKSİK DİYOR BİRDE ADWORDS HESABI BANA AÇACAK BİRİ VARSA

    26.05.2017, 16:29:14
  9. Emre

    Php ile mssql e bağlanıyorum. odbc_connect(); Dolayısıyla mysl komutları geçerli değil. Diğer ayarlar problemi çözmek için yeterli olmadı. Yapabileceğimiz başka bir şey var mıdır.

    13.06.2017, 8:40:11

Yorum yapın..

Güvenlik kodu *