Ana Sayfa   Weblog   Realtime   Galeri   Arşiv   İletişim-Referanslar

Sayfa Yükleniyor...
blank
  Merhaba , kişisel weblog alanıma hoşgeldiniz...  
    Wordpress Türkçe Problemi28 Eylül, Cuma 2007  

 
 

Dün başıma geldi, bugün kod denemelerim oldu, Hosting firmamla görüştüm, çözemedik. Bende sormayı bilene en iyi danışman a başvurdum.

Sorun :: Wordpress 'te Türkçe Dil Problemi

(Bir Anne) www.biranne.com sitesini Wordpress tabanlı hazırladım. PHP 5.2.1(Apache  2.x CentOS) ile Uzak sunucumda, PHP 5.2.2(Apache 2.x WindowsXPProSP2) ile Localde sorunsuz çalışıyordu. Dün Hosting firmam PHP 5.2.3 kararlı sürüme geçti. Sunucu durduruldu ve tekrar çalıştırıldı (Değiştirildi mi bilmiyorum). Artık Wordpress ingilizceydi. Admin, site, menüler, dil modunun geçerli olduğu her yer. Tabiki içerik Türkçe yazıldığı için Türkçe olarak kalmıştı, sorun yoktu.

Hosting firmasına bir e-posta attım. Onlarda bana atacaklarmış :) "Sürüm değiştirdik, sitelerinizde bir problem var mıdır?" Evet dediysemde, sorunu bulamadık, PHP.INI bile aynıydı çünkü.

Bugün Wordpress çekirdeğinde bir takım değişiklikler yaptım, işe yaramadı. En sonunda, geçmişte çok sevdiğim biriyle konuşurken aklıma gelen soruyla karşılaştım: "Neden aradığımız şey her zaman en son baktığımız yerdedir?"

Aramalarımda şu sonuçlara vardım :

Eğer işletim platformunuz 64-bit ise Wordpress ile dil sorununuz olacaktır.


Çözüm :: Wordpress Çekirdeğinde " gettext.php " dosyasını düzenlemek.

Wordpress içerisindeki " gettext.php " dosyanızda şu satırları bulun.

if ($magic == ($MAGIC1 & 0xFFFFFFFF) || $magic == ($MAGIC3 & 0xFFFFFFFF)) { // to make sure it works for 64-bit platforms
        $this->BYTEORDER = 0;
} elseif ($magic == ($MAGIC2 & 0xFFFFFFFF)) {
        $this->BYTEORDER = 1;
} else {
        $this->error = 1; // not MO file
        return false;
}

Ve aşağıdaki kod ile değiştirin :

// 64-bir Platforms BUG FIX from :
// http://comox.textdrive.com/pipermail/wp-trac/2007-June/012844.html

if (($magic & 0xFFFFFFFF) == ($MAGIC1 & 0xFFFFFFFF) || ($magic &
 0xFFFFFFFF) == ($MAGIC3 & 0xFFFFFFFF)) { // to make sure it works for 64-bit platforms
        $this->BYTEORDER = 0;
} elseif (($magic & 0xFFFFFFFF) == ($MAGIC2 & 0xFFFFFFFF)) {
        $this->BYTEORDER = 1;
} else {
        $this->error = 1; // not MO file
        return false;
}

Bu değişiklik Wordpress 'teki Türkçeleşme Problemini çözecektir.

Sonuç :: Wordpress 'teki gettext.php dosyası byte sıralamasını saptamakta hata yapmaktadır. 

Eğer siz, local sisteminizde ve/veya Uzak sunucunuzda 64-bit platform ve PHP 5.x (PHP5 kullanmalısınız) kullanıyorsanız Bu hack i kullanmak durumundasınız.

Ben Türkiye'deki forum, blog, site veya Wordpress dayanışma platformlarında böyle bir makale veya yazıya rastlamadım. Siz rastlarsanız paylaşmaktan çekinmeyin.
Umarım bu yazı benzer sorunu yaşayanlara faydalı olur.

Not: Dün çıkan Wordpress 2.3 "Dexter" sürümünde bu bug düzeltildi mi bilmiyorum.

 
     
  EkleBunu Sosyal Paylaşım Butonu
 
 



* Opsiyonel : Web Adresiniz
Güvenlik Sorusu:    3 ile 0 sayısının toplamı kaçtır?
 
 
    PHP ile AJAX 'ta Türkçe Karakter Problemi
   Çözümü
23 Ağustos, Perşembe 2007  

 
 

Forumlarda, bloglarda, web sitelerinde AJAX 'ta Türkçe Karakter Problemi ile ilgili onlarca makale, başlık ve soru yazıldı. Çözümler türlü yollarla gösterildi. Bu yanıtlardan PHP ile ilgili olanlarında genellikle düzenli ifadeler ve htmlspecialchars kullanılıyordu. Javascript kullanılan çözümler de vardı. 

Ancak ben PHP 4.0.5 ile gelen ve PHP 5 'in de vazgeçilmez fonksiyon gruplarından olan " iconv " serisini kullanana rastlamadım.

iconv fonksiyonu, yazıyı istenilen karakter setine çevirmenizi sağlar.Burada ihtiyacınız olan; ' Dönüşecek yazınız ' , ' dosyanızın karakter seti ' ve ' yazınızı çevirmek istediğiniz karakter seti ' dir.

<?php
echo iconv("ISO-8859-9", "UTF-8", "Üzümü ye bağını da sor !");
?>

Mesela yukarıdaki örnekte iso-8859-9 standart Türkçe karakter setiyle kaydedilmiş bir dosyamız var. Biz bunun içerisinden bir parça seçiyoruz ve bunu UTF-8 karakter setine çevirmek istiyoruz. Bu fonksiyon işimizi görecektir.

İşte bu örnekten yola çıkarak, AJAX 'ta Türkçe Karakter Problemi 'nin nasıl çözülebileceğini siz de gözünüzde canlandırmışsınızdır:

Diyelimki iso-8859-9 (genel Türkçe kodlama standartı) karakter seti ile kodlanmış bir programınız var. Bununla ajax 'ı işleme sokacak dosyanıza veri gönderdiniz. Javascript dosyanızın geri döndüreceği sonuç UTF-8 karakter setinde olacaktır. Sizin web siteniz, kodlarınız iso-8859-9 karakterinde olduğundan gelen veriler bozuk olacaktır. Bunları bir şekilde AJAX kullanırken düzenlemeniz gerekecek. İşte bu noktada devreye iconv girecek.

$favori_meyvesi = iconv("UTF-8", "ISO-8859-9", $_POST['fav_meyve']);

Şeklinde Javascript dosyanızın etkileştiği PHP dosyasında karakter setini düzenliyorsunuz. Burada örneğin " Favori Meyve " olarak <input> alanına Vişne yazılmış olsun. Kullandığınız AJAX 'ın görevide bunu seçeneklerize kayıt etmek veya güncellemek. Gönder tuşuna bastınız, " Vişne " Javascript ile ilgili PHP dosyasıyla iletişim kurdu, cevap olarak şu döndü:

- Vişne meyvesi favori meyvelerinize eklendi...

Eğer iconv kullanmasaydık ve dosyamızın, sitemizin karakter setide UTF-8 'den farklı olsaydı, "ş" karakteri bozuk gözükecekti.
 

Not: Yazılarımdan, makalelerimden alıntı yapan Forum, Blog ve Web Sitelerinden mutlaka  konuya link vermelerini ve isim ile dip not düşmelerini rica ediyorum.

 
     
  EkleBunu Sosyal Paylaşım Butonu
 
 



* Opsiyonel : Web Adresiniz
Güvenlik Sorusu:    4 ile 3 sayısının farkı kaçtır?
 
 
    PHP5 'e 3 Yıl Sonra Merhaba ?!04 Ağustos, Cumartesi 2007  

 
 

Support GoPHP5.org PHP5 çıkalı 3 sene olmasına karşın, hem insanların alışkanlıkları hem de PHP4 ün yeterliliği (göreceli) neticesinde PHP5 'e geçişte ciddi sorunlar oluştu. Bundan dolayı PHP6 'yı çıkarmayı planlayan PHP geliştiriciler çığırından çıkarak GoPHP5.org sitesini açtılar. 

Sitede PHP5 'e neden geçilmesi gerektiği, faydaları, gereklilikleri, farkları anlatılıyor. Ayrıca bu sitenin kurulmasından bir kaç ay sonrada PHP4 ün tarih olacağı da duyuruldu.

Artık PHP5 'e geçmenin zamanı geldi diyoruz ve PHP kullanan herkese bu kampanyayı destekleme çağrısında bulunuyoruz.

Türkiye'de yaklaşık 1 yıl önce PHP5 hizmetini sunmaya başlayan Hosting Firmalarından Sistemhost , PHP5 'e geçerken size tavsiye edebileceğim hostlardan. Sunucularının Türkiye'de bulunması ve gerektiğinde sunucunuza "dokunabilecek" olmaları Smile size güven veriyor. Fiyatları Türkiye'de sunucusu bulunan firmalara kıyasla iyi ve hizmet ve destek kalitesi çok yüksek.

Öğrenmekten, değişmekten, yenilikten çekinmeyin, PHP5 'e geçin® ...

Şeklinde kendi sloganımı da buraya ekliyorum. 

 
     
  EkleBunu Sosyal Paylaşım Butonu
 
 



* Opsiyonel : Web Adresiniz
Güvenlik Sorusu:    7 ile 3 sayısının toplamı kaçtır?
 
 
 
   << Önceki Sayfa          Sonraki Sayfa >>   
 
blank
#Sayfa Başı
Arama İpucu
blank
  Temel Kaynaklar
  •  Giriş
  •  Üyelik
  •  
  • Arşiv Arşiv
  • RSS 2.0 RSS
  • Smart RSS Smart RSS
blank
  Kategoriler
blank
  Tavsiye Linkler