Sitelerde Sıkça Ortaya Çıkan Türkçe Karakter Sorunu
Şimdi bir siteye başlamadan önce Türkçe karakter problemi ile karşılaşmamak için yapmanız gerekenlere sırayla bakalım.
Sitemizi oluşturmaya başlamadan önce açık kaynak kodlu bir yazılım olan Notepad++ programını kurmanızı öneririm. Bu programı kullanarak sitemizin tüm karakterlerinizin bozulmasına neden olabilen UTF-8 BOM (Byte Order Mark) sorununu
Html ve php dosyalarımızı yazarken karakter setini UTF-8 kullanmak; her ülkeden ve dilden kullacılarının sitemizi ziyaret ederken karakter sorunları ile karşılaşmamasını sağlar.
Sitenizi oluşturmaya, html ve php kodlarınızı yazmaya başlamadan önce Notepad++’ı açıp Format menüsünden UTF-8 without BOM’u seçin ve dosyalarınızı utf8 formatını kullanarak yazın. Notepad++’ın Settings > Preferences > New Document bölümünden de her açılışta dosya formatını otomatik olarak Utf-8 without bom seçmesini sağlayabiliriz.
Daha sonra HTML kodlarınızı yazmaya başlayabilirsiniz. HTML ile de sayfanızın karakter setini UTF-8 olarak ayarlamanız gerekiyor. Etiketlerinin arasına yerleştireceğiniz aşağıdaki kod ile bu işi yapacağız.
Şimdi MySQL veritbanımızı oluşturalım.. Veritabanımızı oluştururken Karşılaştırma bölümünden utf8_turkish_ci yi seçmenizi öneriyorum. Böylelikle MySQL’de oluşturacağınız tüm tablo ve alanlar utf8 kodlamasına göre oluşturulacak. Artık MySQL’den veri girişi yaptığınızda Türkçe karakter problemi olmadan verilerinizi görebiliyor olmalısınız.
PHP kodlarıyla MySQL’e bağlanırken yapmamız gereken bir şey daha var. SET NAMES utf8 kodunu çalıştırmak.. Bunu da şu şekilde yapıyoruz;
<?php mysql_connect("localhost","root","1234"); mysql_select_db("testdb"); mysql_query("SET NAMES UTF8"); ?>
Sayfanın head kısmına ekleyin:
@charset "utf-8"; /* CSS Document */
MYSQL bağlanırken:
mysql_query("SET NAMES UTF8");
MYSQL Tablo Karşılaştırma:
utf8_turkish_ci