13 Ağustos 2009 Perşembe

Ajax ve Prototype İle Türkçe Karakter Sorunu

Merhaba,
Burada anlatacağım olay web sayfasında türkçe karakterlerin düzgün görünmemesi ile ilgili değil.Onunla ilgili olarak bir önceki gönderimde zaten utf-8 kullanarak türkçe karakter sorununu nasıl aşacağınızı yazdım. Şimdi anlatacağım sorun ise daha farklı... Diyelimki ajax ile bir get ya da post yaptınız ve burada geçen parametreye göre de bir sorgu sonucu döndüreceksiniz.İşte bu noktada türkçe karakterleri kullandığınızda sorgu sonucu bir şey dönmüyor geri... Çünkü ı,ş,ğ gibi harfler web serverınıza düzgün ulaşmıyor.Bende bunun gibi bir sorun yaşadım ve sonunda aşağıdaki gibi sorunu çözdüm. Umarım sizede yardımcı olur.

Query string url sini ya da post değerlerini bu fonksiyon yardımı ile convert ederek submit edin. Sorununuzun düzelmiş olması gerekir.

function convert(value){
value=value.replace(/ı/g,"%C4%B1").replace(/İ/g,"%C4%B0");
value=value.replace(/ş/g,"%C5%9F").replace(/Ş/g,"%C5%9E");
value=value.replace(/ç/g,"%C3%A7").replace(/Ç/g,"%C3%87");
value=value.replace(/ğ/g,"%C4%9F").replace(/Ğ/g,"%C4%9E");
value=value.replace(/ü/g,"%C3%BC").replace(/Ü/g,"%C3%9C");
value=value.replace(/ö/g,"%C3%B6").replace(/Ö/g,"%C3%96");
return value;
}

Hiç yorum yok: