![]() |
Türkçe karakter sorunları ve çözümleri -Dosya Kaynaklı Türkçe Karakter Sorunları Scriptlerle çok haşır neşir olan arkadaşlar çok iyi bilirlerki türkçe karakterler herzaman türklerin başına bela olmuştur :) Bu sorunun çözümü aslında gayet basit ancak insanların çoğu bilgisiz, bilgili olanlar ise fazla üşengeç :) Ben hem sizleri bilgilendirmek, hemde üşengeçliğinizi almak için bu makaleyi yazıyorum :) Artık başlayalım isterseniz ;) Charsetlerden başlayalım ilk önce. Bildiğiniz gibi dünya üzerinde yüzlerce dil mevcut ve takdir edersinizki bu dillerin özellikleri birbirlerinden çok farklı. Öyleki çoğu dil, yapı olarak latin alfabesine bağlı olmasına karşın yakın dillerden de özel karakterler almışlar. Türkçede başa bela olan karakterler; -ü -ş -ç -ö -ı -İ UTF-8 denen charsetin özelliği dünyadaki bütün dilleri kendi içerisinde barındırması. Yani tüm diller için ortak bir charset. Ancak bu charseti sorunsuzca kullanabilmek için dosyanın da utf-8 olarak kaydedilmiş olması gerekmekte. Sadece bu da yetmiyor, ayrıca browser a da utf-8 charsetini kullanarak yorumlama yapmasını belirtmemiz gerekiyor. Bunun için de htmldeki <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> tagını kullanacağız. Sanırım bu kadar bilgi yeterli artık çalışma vakti :) Şimdi yazdığım scripti tanıtayım sizlere. Bu script belirttiğiniz bir klasör içindeki tüm dosyaları ve o klasörün içerdiği klasörlerin içindeki dosyaları utf-8 olarak kaydediyor. Size sadece <meta tagında belirtilmiş olan charseti utf-8 olarak değiştirmek, eğer böyle bir tanım yoksa sayfa başına <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> eklemek kalıyor. PHP- Kodu: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] -Database Kaynaklı Türkçe Karakter Sorunları Ehh tek sorun dosyalarda olmuyor. Databaseler de bizlere büyük sıkıntılar verebiliyor. Öyleki bu türkçe karakter sorununu çözemeyip tekrar sıfırdan scripti kuran çok arkadaş biliyorum :) Birazda bu yöntemin çözümlerinden bahsedelim. Çoğu arkadaşım charseti latin5_turkish_ci ye çevirerek çözüm aradıklarını belirttiler ancak ben o arkadaşların tersine bir yöntem tavsiye edeceğim. Ama öncesinde yine biraz açıklama yapalım :) Öncelikle neden latin5_turkish_ci charsetini tavsiye etmiyorum buradan başlayalım. Şimdi siz database yapısını bu charsete çevirdiğiniz zaman mysql sorguları bu charsete göre işlemez. Bunun için sorguların işlendiği charseti değiştirmeniz gerekecek ve bunu extra kodlar ile yapacaksınız. Hele ki php bilmiyorsanız yandınız ki ne yandınız :) :D O yüzden sizlere phpmyadminin standart charseti olan latin1_swedish_ci yi tavsiye ediyorum. Şimdi türkçe olmayan bir charset nasıl olurda türkçe karakterleri sorunsuzca görüntüler :) Aslında bu charset türkçe karakterleri türkçe olarak değilde kendi charsetinde aynı charcode değerine denk gelen farklı karakterle kayıt eder. Bugüne adar hep latin1_swedish_ci kullanırım herhangi bir sorun yaşamadım. Darkcode # |
Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 16:23. |
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