Form’u sayfadakinden farklı bir charset ile göndermek
Hiç iso-8859-9 charsetinde hazırlanmış bir sayfadan utf-8’e göre hazırlanmış başka bir sayfaya form datası göndermeniz gerekti mi? Bize gerekti. Kütüphane web sitemiz biraz eski kalmış ve iso-8859-9 formatında hazırlanmış. Yeni kurulan kütüphane yazılımı ise utf-8’e göre hazırlanmış. Web sitesindeki arama kutucuğuna “ağaç”,”şair”, “ırmak” gibi Türkçe özel karakter içeren kelimeler yazdığınızda karşı tarafa a?a?, ?air, ?rmak gibi abuk subuk karakterler gittiğinden aramalar sonuç vermiyordu haliyle.
Bu sorunu gidermek için önce utf8’e çeviren javascript fonksiyonlarını inceledim. Malesef bulduğum bir kaç tane fonksiyon sadece belli karakterleri düzeltiyordu.
Aramaları biraz daha derinleştirince formların accept-charset diye tam bu iş için hazırlanmış bir özelliği daha olduğunu öğrendim. Sayfanın charset’i ne olursa olsun form’a accept-charset=utf-8 yazabiliyormuşuz. Yazdım, fıstık gibi çalıştı. Fekaaat! Her zamanki gibi Internet Explorer bu özelliği desteklemiyor.
Neyse ki onun da çözümü varmış. Forma aşağıdaki öğeyi eklediğinizde sorun çözülüyor:
<input type=”hidden” name=”enc” value=”™”>