PHP Türkçe Karakter Sorunu

php

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

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

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.

Yazı gezinmesi

Mobil sürümden çık