PHP Mysql Türkçe Karakter Sorunu

Ana sayfa » PHP » PHP Mysql Türkçe Karakter Sorunu

PHP Mysql Türkçe Karakter Sorunu

Genellikle birçok kod yazan arkadaş UTF-8 kullanılır. Fakat ben uzun zamandır ISO-8859-9 ‘u tercih ediyorum. Zaman zaman türkçe karakterlerde sorun çıkması mutemel bir durum. Fakat aşağıda anlatılan düzenlemeleri uygularsanız sorun kalmayacaktır.

“httpd.conf” dosyasındaki “AddDefaultCharset ISO-8859-1” satırının “AddDefaultCharset ISO-8859-9” satırı ile değişmesi gerekiyor.

8859-1 dil setinde “ç” “ş” gibi harfler görünürken “İ”, “Ğ” gibi harfler görünmüyor. Çünkü iso-8859-1 dil seti “ç” ve “ş” gibi harfleri okuyabiliyor. Bu harfler 8859-1’nin desteklediği diğer dillerde de var. Ama Türkçe’ye özgü diğer harfler (“İ” gibi) 8859-1 tarafından desteklenmiyor. Problemin yaşanmaması için 8859-9’u kullanmamız gerekiyor. Ayrıca veritabanı bağlantımıza aşağıdaki son 3 satırı ekleyerek “ş” “ğ” “ı” harflerinin “?” şeklinde çıkmasına engel olabiliriz.

<?php
$hostname_baglanti = "localhost";
$database_baglanti = "dbname";
$username_baglanti = "root";
$password_baglanti = "pass";
$baglanti = mysql_pconnect($hostname_baglanti, $username_baglanti,  $password_baglanti) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_query("SET NAMES 'latin5'");
mysql_query("SET CHARACTER SET latin5");
mysql_query("SET COLLATION_CONNECTION = 'latin5_turkish_ci'");
?>
By |Şubat 3rd, 2011|Categories: PHP|

About the Author:

2 Comments

  1. muhammet 21:56 de 06 Ocak 2012 - Yanıtla

    bu verdiğiniz kodu tam olarak nereye ekleyeceğiz anlatırsan daha iyi yardımcı olursun teşekkürler

    • Mehmet Ali 16:07 de 23 Ocak 2012 - Yanıtla

      her sayfanin icinde olan bir sayfaya yerlestirebilirsiniz. mesela ben mysql baglanti kodunun hemen altinda kullaniyorum.

Bir Cevap Yazın