Php & MySQL Türkçe Karakter Sorunu Çözümü

Php Erdinç Koç 1.633 Görüntüleme Okuma Süresi: 3 Dakika

HTML sayfanızı oluşturmadan önce hangi karakter setini kullanacağınıza karar vermelisiniz. Buradan görebileceğiniz üzere standartlaşan onlarca karakter kodlaması vardır. Karakter kodlaması, karakter setlerinden oluşur. ISO-8859, MS-Windows ve Unicode en çok kullanılan karakter kodlamalarındandır. ISO-8859-9′da bir ISO-8859′un bir karakter setidir.

ISO-8859 karakter seti dillere desteğini bölümler halinde vermiştir. İlk bölümde -bu bölüm ISO-8859-1 (Latin1) olarak bilinir- İngilizce, Franszıca, İspanyolca, Portekizce gibi dillere destek vermiştir. Türkçe desteği ancak 9. bölümde ISO-8859-9 (Latin5) karakter setiyle gelmiştir. MySQL’de bulunan latin5 ile ISO-8859-9 aslında aynı şeylerdir.
php Mysql Hataları
Türkçe diline destek veren karakter setlerinden en çok kullanılanları; ISO-8859-9 (latin5) Windows-1254 ve UTF-8‘dir. UTF-8 çoklu dil desteği olan bir karatker setidir. Yani Türkçe’nin yanında örneğin Rusça’ya da destek vermektedir. Diğerlerinden farkı daha çok dile destek verdiğinden dosya büyüklükleri biraz daha fazla olabilmektedir.

Size önerim her zaman UTF-8 kullanmanız. Örneğin WordPress her ülkeden her dilden kullanıcıların yazı yazarken karakter problemi ile karşılaşmaması amacıyla UTF-8 kodlamasını kullanmaktadır. Şimdi bir siteye başlamadan önce Türkçe karakter problemi ile karşılaşmamak için yapmanız gerekenleri sırayla anlatacağım..

Html ve php dosyalarınızı yazarken özgür yazılım ürünü olan Notepad++ programını kullanmanızı öneriyorum. 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. <head></head> etiketlerinin arasına yerleştireceğiniz aşağıdaki kod ile bu işi yapacağız.

<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />

Ş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 gerekn 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(“deneme”);
mysql_query(“SET NAMES UTF8”);
?>

Bunları yaptıktan sonra Türkçe karakter hata problemiyle karşılaşmamanız gerekiyor.

Erdinç Koç

Bir önceki yazımız olan Php ini file Kullanımı başlıklı makalemizi de okumanızı öneririz.

Click to rate this post!
[Total: 0 Average: 0]

Sosyal Ağlarda Paylaş

{Erdinç Koç}

Merhabalar Öncelikle Sitemi Ziyaret Ettiğiniz için Öncelikle Teşekkür Ederim. Erdinç KOÇ 26 ARALIK 1986 Pazar Günü Dünyaya Soğuk bir ayda gözlerini açmış masum ailenin ilk çocuğu olarak dünya’ya geldim. Webtasarım ve Linux Konusunda daha çok bilgi edinmek adına bilge adam Kadıköy şubesinde Php – Linux Sistem ve Ağ Uzmanlığı Eğitimleri aldıktan sonra.Kendimi Kendi Alanımda Profesyonel olarak yer aldığım projelerde bulundum. Türkiye’nin önde gelen büyük firmaları ile çalıştım. Hala Çalışmaktayım.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir