PHP Türkçe Karakter Sorunu

turkce-karakter-sorunuPhp’de sayfa kodluyor ve karakter hatası ile karşılaşıyorsanız bunun bir çok nedeni olabilir. Gelin bu makalemizde, Türkçe karakter sorunlarının neyden kaynaklanabileceğini ve bu sorunları nasıl giderebileceğimizi anlatalım.

Default karakter seti: bir html, php sayfası açıp bu sayfanızda kodlama yapıyorsanız, bu sayfanızın default karakter setinin “latin1” olduğunu unutmamalısınız. Eğer sayfa içinizde <meta> kısmında bir karakter seti tanımlaması yapmazsanız “default” karakter seti olan “latin1” çalışacaktır. Bu işlem mysql’dede aynı şekildedir. Mysql işlemlerinde, veritabanı oluşturma bölümünde oluşturulacak olan veri tabanının utf-8 olarak belirlenmesi gerekiyor. Aksi taktirde “latin1” seti veri tabanınız için kullanılacaktır.

phpPeki latin1 seti neden sorun yaratıyor? : Çünkü latin1 setinin Türkçe karakter desteği bulunmadığı için ekranda “anlamsız” ifadeler çıkmaktadır. Bu nedenle Türkçe karakter desteği olan “utf-8” i kullanmanızı tavsiye ediyoruz. Türkçe karakter sorunu oluşturan, ingilizcede kullanılmayan karakterler aşağıdaki gibidir.

Türkçe karakterler şunlardır;

ç, ı, ü, ğ, ö, ş, İ, Ğ, Ü, Ö, Ş, Ç

Eğer ki HTML5 ile kodlama yapıyorsanız sayfanızın <head> kısmında şu şekilde kullanım yapmanız yeterli olacaktır.

<meta charset=”utf-8″>

HTML5’den daha düşük bir sürüm ile kodlama yapacaksanız şu şekilde bir kullanım yapmanız gerekmektedir.

<meta httpequiv=“Content-Type” content=“text/html; charset=utf-8” />

Mysql’de ise create database dediğimizde, veri tabanı karakter setini “utf8_turkish_ci” olarak belirlememiz gerekmektedir. Bu işlemden sonra eğer ki tabloların karakter setlerinde sorun olursa, gerekirse onları da tek tek utf8 olarak belirlememiz gerekir.

utf-8-databases

Kodlamalarınızda genel anlamı ile dikkat edeceğiniz 2 (iki) kriter var. Bir tanesi sayfa içinde kullanacağınız karakter setinin “utf8” olmasına dikkat edin. Bir diğeri ise mysql’de veritabanı ve tabloların karakter setlerinin “utf8_turkis_ci” olarak belirlenmiş olmasına özen göstermemiz lazım. Böylelikle her hangi bir sorun yaşamamış olacağız.

Son kez: Hala sorun yaşıyorum diyorsanız, veri tabanı bağlantı dosyanızdan “config.php” vs. mysql’e bağlantı sağlarken utf-8 olarak bağlantı kurmamız sağlayacağız. Yani charset=utf8 olarak belirleyelim ve son kez çalıştıralım. Php Türkçe karakter sorunu çözümü ile ilgili anlamadığınız yerler için yorum atarak destek alabilirsiniz.

Programlama derslerinin yer aldığı kılavuz yazılım web sitesinde buna benzer makaleler bulunmaktadır.

Bir önceki yazımız olan Array Dizileri - PHP Dersleri başlıklı makalemizde array nedir, php ve php array dizileri hakkında bilgiler verilmektedir.

Content Protection by DMCA.com
ZİYARETÇİ YORUMLARI - 1 YORUM
  1. Kanly dedi ki:

    Teşekkürler Umarım işe yarar.

BİR YORUM YAZ