php mysql türkçe karakter sorunu
En son söylemem gerekeni en başta söyleyim. Bu makaleyi okuyorsanız muhtemelen benim aşağıda anlatacağım ayarları yapmış ve hala sonuç alamamışsınızdır. Aslında ne php nin ne de mysql in türkçe karekter sorunu yok. Ayarları yaptınız ve hala düzelmediyse sorun editorunuz kodlama biçimindedir. Bu sorunu çözmek içik kullandığınız metin editorunun varsayılan kodlamasının utf-8 withou BOM yada türkçesi bom suz utf-8 olarak ayarladığınızdan emin olun. Bom suz ayarlayın ki, ilerde bir de çerez-oturum sorunu yaşamayasınız diye.
Gelelim ayarlara..
1-)Browser ayarı..
Bu ayar aslında en basittidir. web siteniz html kodlarına
<meta content=”text/html; charset=utf-8″ http-equiv=”content-Type”>
2-)Mysql Ayarı
a-)Öncelikle mysql de veritabanı oluştururken mysql in karakter setini UTF-8_general_ci yapın.
b-)Klasik bir php mysql bağlantı kodu şu şekildedir
mysql_connect("localhost", "mysql_user", "mysql_password") or die("Could not connect: " . mysql_error()); mysql_select_db("mydb"); $result = mysql_query("SELECT id, name FROM mytable"); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { printf("ID: %s Name: %s", $row["id"], $row["name"]); } mysql_free_result($result);
bu kodun select_db kısmından sonra yani veritabanı tablo adı seçildikten sonra aşağıdaki kodu ekleyin
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET utf8");
Şu şekilde görünmeli
mysql_connect("localhost", "mysql_user", "mysql_password") or die("Could not connect: " . mysql_error()); mysql_select_db("mydb");//sonradan eklenen kodlarmysql_query("SET NAMES 'utf8'"); mysql_query("SET CHARACTER SET utf8");$result = mysql_query("SELECT id, name FROM mytable"); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { printf("ID: %s Name: %s", $row["id"], $row["name"]); } mysql_free_result($result);
Tüm bunları uyguladım ama hala sorun yaşıyorum diyorsanız makalenin en başına geri dönüp metin editorunuzle ilgili ayarları yapın.
Eğer aynı anda benim gibi birden fazla editor kullanıyorsanız muhtemelen yine sorun yaşayacaksınız.
Kolay gelsin.
