![]() |
ajax UTF-8 ISO-8859-9 türkçe karakter problemi İlk defa ajaxla uğraşan biri olarak Ajax'ın veri gönderme ve alma işlerini UTF-8 üzerinden yaptığını öğrenmiş oldum. Bunun çözümü ise oldukça basit. Ajax ile veriyi gönderdiğinizde bunu veritabanına yollamadan önce, UTF-8'den ISO-8859-9'a çeviriyorsunuz. Bunun için PHP'nin mb_convert_string fonksiyonunu kullanıyorsunuz. Şöyle ki; $myCol = mb_convert_encoding($myCol,"UTF-8","ISO-8859-9"); Veriyi bu şekilde veritabanına attıktan sonra veri sayfanın normal refresh'inde normal gözükecektir. Ama genelde biz bu veriyi belli bir div'e hemen yazmak isteriz. Ama bu veriyi ISO-8859-9'a çevirdiğimiz için bu sefer gene ???????? gibi gözükecektir. Bu sefer az önce yaptığımız işin tersini yaparız. Şöyle ki : echo mb_convert_encoding($myCol,"ISO-8859-9","UTF-8"); Not : Veriyi sadece ajax ile göstermek istediğinizde çevrim yapmanıza gerek var. Onun haricinde sayfanızı normal bir şekilde yenilediğinizde kayıt normal şekilde gözükecektir, zira veriyi zaten ISO-8859-9 olarak veritabanına kaydettik. Not : mb_convert_encoding'i kullanmak için PHP'yi mbstring ile derleyin ya da php.ini'den gerekli satırın başındaki noktalı virgülü kaldırın. |
Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 08:41. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk