Ajax Türkçe Karakter Sorunu
Çevremde sürekli Ajax kullanımı sonucunda Türkçe karakter sorunu yaşayan insanlar görüyorum. Standartlardan uzak çalışmanın sonucunda bu ve benzeri problemler yaşamanız çok normal. Bu yazıda Ajax kullanırken Türkçe karakter sorunu yaşamamak için nelere dikkat edilmeli, bunlardan bahsedeceğim. Aslında bahsedeceklerimi sadece ajax kullanacağınız zaman değil, her zaman uygulamanızı tavsiye ederim.
- Öncelikle tüm dosyalarınızı UTF-8 formatında kaydedin. YaÅŸanan Türkçe karakter sorunlarının büyük bir nedeni bu. Dikkat edilmesi gereken ÅŸey tüm dosyaların utf-8 olması gerektiÄŸi. index.html den ajax.php dosyasına ajax isteÄŸi gönderdiÄŸimizi varsayalım. Bu 2 dosyadan biri utf-8 diÄŸeri ANSI veya baÅŸka format ise gene Türkçe karakter sorunu yaÅŸayabilirsiniz. Dosyalarınızı nasıl formatında kaydedeceÄŸinizi öğrenmek için kullandığınız metin düzenleyicinin kullanım kılavuzuna göz atın. EÄŸer GNU/Linux kullanıcısıysanız iconv –from-code WINDOWS-1254 –to-code UTF-8 -c kaynak_dosya.php > hedef_dosya.php komutunu kullanabilirsiniz. WINDOWS-1254 yerine mevcut dosyanızın karakter kodlamasını girmeniz gerekiyor.
- Ajax isteğinin yapıldığı sayfada <head> bloğunda utf-8 karakter kodlaması kullandığınızı belirtin. Bunun için <head> bloğuna şu kodu eklemeniz gerekir;
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Eğer bu iki maddeye dikkat ederseniz Ajax uygulamalarınızda Türkçe karakter sorununu bertaraf edebilirsiniz.
Bir başka yazıda görüşmek üzere,..
Benzer Yazılar (bunları bilgisayar seçiyor);
- jQuery ve PHP ile Basit Ajax Uygulaması
Merhaba, Bu yazımızda JQuery kütüphanesini kullanarak örnek bir Ajax uygulaması oluşturacağız. Uyg... - PHP ile Google Ajax Search API Kullanımı
Merhaba, Size daha eski yazılarımda JSON'dan bahsetmiÅŸtim ve genelde sitelerin API'lerinde kullanıldığÄ... - REGEX – Karakter Sınıfları
Diyelimki bir yazı içerisinde geçen "makina" kelimelerini bulmak istiyorsunuz. Fakat bildiÄŸiniz üzere mak... - REGEX – Negatif Karakter Sınıfları
Eğer karakter sınıflarında gördüğümüz [...] yerine [^...] kullanırsanız belirlediğiniz kriterlere ...
Categories: Ajax, Programlama, XHTML ve CSS 2.443 Gösterim
bunlara ek olarak phpde sorunları çözmek için adımlar ,
1- latin veya başka birşey ile uğraşma utf-8 ile kodla.Yani mysql karışlaştırma utf_general_ci gibi birşeydi onu kullan.
2-editörün eğer linuxta kwrite gibi birşeyde aç-kaydet kısmının utf-8 olduğundan emin ol.Ynai dosya kodlaması utf 8 olsun
3-Php de sayfaların en başına aşşağıdaki kodu include et.
4- nolur nolmaz diye meta kullan onuda vereym;
5- mysqldan veri çekrken şunun gibi kullan
$dbbaglan = mysql_connect (“localhost”,”root”,”") or die(‘mysql baÄŸlantısında sorun çıktı’);
mysql_select_db (“tarcan”,$dbbaglan) or die(‘yanlış veritabanı seçimi’);
mysql_query(“SET NAMES ‘utf8′”) or die(‘utf-8 de problem’);
———-
eğer bunları yaparsanız sorununuz çözülür çünkü her karakter sorunu olan bununları uyguladı ve çözüldü
php de, bağlantı satırının altında
mysql_query(“SET NAMES ‘latin5′”);
şeklinde kullanıyorum. çözüyor problemi saolsun.
ajax için ise henüz yaÅŸamadım problem, yaÅŸama ihtimalime karşılık bookmark’a aldım
Bu karakter sorunları, “Uluslararası Standartlar BirliÄŸi Teknik Komitesi”ne gönderilen heyetin Avrupayı gezmesi ve toplantıya katılmaması sonucunda oluÅŸtu. Bilmiyorum bu konudan haberiniz var mıydı? Bu ahlaksız insanların toplantıyı önemsememesi nedeniyle bir çok kiÅŸi sorun yaşıyor. AÅŸağıda, konu ile ilgili küçük bir alıntı yapıyorum.
“”"ALINTI BAÅžLADI”"”
“Uluslararası Standartlar BirliÄŸi Teknik Komitesi bilgisayar karakter setleri için tartışırken 12 Eylül’ü yaÅŸayan Türkiye, Avrupa’daki toplantılara parasızlık gerekçesiyle katılmadı.
Cep telefonunda ÅŸ, ç, ÄŸ gibi Türkçe karakterler kullanıldığı zaman birden fazla kısa mesaja bölünerek abonenin daha fazla ödeme yapmasına neden oluyordu. Türkçe kısa mesaja fazla ödeme yapmanın ucu 12 Eylül dönemine kadar gidiyor. 1980′lerin başında bilgisayarlardaki karakter setleri oluÅŸurken Türkiye askeri dönemden geçiyordu. İrlanda’da düzenlenen toplantıya Türk Standardları Enstitüsü katılmadı. Böylece cep telefonlarında Türkçe karakteri tanımama sorunu doÄŸmuÅŸ oldu.”
“”"ALINTI BİTTİ”"”
@Hüseyin İnan
Eğer bu yazdıkların doğruysa gerçekten çok komik bi durum sözkonusu.
PHP kodlarını UTF – 8 olarak kaydetmekten bahsetmiÅŸken, kullandığınız çeviricinin yada editörün BOM olmadan kaydetmesinde fayda var. aksi halde php engine browsera illegal karakter gönderecektir, bu da header tagının kullanımını kaldırır. session yapısını bozar, dahası sayfanın en tepesinde tasarımda olmayan karakter basar.
BOM (byte order mask) desteği php 6 da gelecek diye söylentiler olsa da uzunca bir süre geliceğini sanmıyorum.
BOM hakkında bilgi