Ajax Türkçe Karakter Sorunu

Çarşamba, 23 Eyl 2009 yorum ekle yorumlara git

Ç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,..


Paylaş:
  • Facebook
  • FriendFeed
  • Twitter
  • del.icio.us
  • Digg
  • StumbleUpon
  • Technorati
  • LinkedIn
  • MySpace
  • BlinkList
  • Reddit
  • RSS
  • email
  • PDF

Benzer Yazılar (bunları bilgisayar seçiyor);

Categories: Ajax, Programlama, XHTML ve CSS 5.041 Gösterim
  1. zumsuk
    Çarşamba, 30 Eyl 2009 zamanında 10:36 | #1

    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ü

  2. freelance
    Salı, 08 Ara 2009 zamanında 11:46 | #2

    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 :)

  3. Hüseyin İnan
    Cumartesi, 03 Nis 2010 zamanında 13:06 | #3

    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İ”"”

  4. Perşembe, 02 Eyl 2010 zamanında 00:20 | #4

    @Hüseyin İnan
    Eğer bu yazdıkların doğruysa gerçekten çok komik bi durum sözkonusu.

  5. yasin inat
    Pazartesi, 06 Ara 2010 zamanında 02:09 | #5

    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

  1. şimdilik geri bağlantı yok