Php ve MySQL’de TR Karakter Sorunu? Çözümü Nasıldır?

Php ve MySQL’de TR Karakter Sorunu? Çözümü Nasıldır? Merhaba arkadaşlar, Bu makalemizde Php (Hypertext Preprocessor) ve MySQL ‘de oluşan türkçe ira sorunundan ve çözümünden bahsedeceğim. Php, internet için yaratılmış, sunucu taraflı, çok fazla geniş kullanımlı, genel amaçlı, HTML içerisine gömülebilen betik ve programlama dilidir. MySQL ise 6 milyondan fazla sistemde yüklü bulunan çoklu meslek parçacıklı, çok fazla kullanıcılı, hızlı ve sağlam bir veritabanı İdare sistemidir. http://www.iana.org/assignments/character-sets adresinden de görebileceğiniz üzere standartlaşan onlarca ira kodlaması vardır. Karakter kodlaması, ira setlerinden oluşur. ISO-8859, MS-Windows ve Unicode en çok fazla uygulanan ira kodlamalarındandır. ISO-8859-9′da bir ISO-8859′un bir ira setidir. ISO-8859 ira seti dillere desteğini bölümler biçiminde vermiştir. İlk bölümde -bu bölüm ISO-8859-1 (Latin1) şekilde bilinir- İngilizce, Franszıca, İspanyolca, Portekizce benzeri dillere destek vermiştir. Türkçe desteği fakat 9. bölümde ISO-8859-9 (Latin5) ira setiyle gelmiştir. MySQL’de bulunan latin5 ile ISO-8859-9 gerçekte aynıdır. Türkçe diline destek sağlayan ira setlerinden en çok fazla kullanılanları; ISO-8859-9 (latin5) Windows-1254 ve UTF-8’dir. UTF-8 çoklu dil desteği olan bir ira setidir. Yani Türkçe’nin beraberinde örneğin Rusça’ya da destek vermektedir. Diğerlerinden farkı daha aşırı dile destek verdiğinden dosya büyüklükleri biraz daha fazla olabilmektedir. Sitemizi oluşturmaya başlamadan herşeyden önce açık kaynak kodlu bir yazılım olan Notepad++ (http://notepad-plus-plus.org/) programını kurmanızı öneririm. Bu programı kullanarak sitemizin bütün karakterlerinizin bozulmasına neden olabilen UTF-8 BOM (Byte Order Mark) sorununu ortadan kaldıracağız. Html ve php dosyalarımızı yazarken ira setini UTF-8 kullanmak; her ülkeden ve dilden kullacılarının sitemizi ziyaret ederken ira sorunları ile karşılaşmamasını sağlar. Sitenizi oluşturmaya, html ve php kodlarınızı yazmaya başlamadan evvela 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 yeni dosya oluştururken dosya formatının otomatik şekilde utf-8 without bom olmasını sağlayabiliriz. Daha sonra html kodlarınızı yazmaya başlayabilirsiniz. HTML ile de sayfanızın ira setini UTF-8 şekilde ayarlamanız gerekiyor.arasına yerleştireceğiniz aşağıdaki kod ile bu işi yapacağız. 1 2  <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8” /> Şimdi MySQL veritabanı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 bütün tablo ve alanlar UTF8 kodlamasına göre oluşturulacak. Artık MySQL’den veri girişi yaptığınızda Türkçe ira sıkıntısı olmaksızın verilerinizi görebiliyor olmalısınız. SET NAMES utf8 kodunu çalıştırmak içerisinde aşağıdaki kodları ekliyoruz. 1  <? 2     php mysql_connect(“localhost”,”root”,”1234”); üç   mysql_select_db(“testdb”); 4   mysql_query(“SET NAMES UTF8”); 5  ?>


Yapılan Yorumlar
Erdem OFLAZ

Bir mum, diğer mumu tutuşturmakla ışığından bir şey kaybetmez.
 Kategoriler
 Popüler yazılar