DMRY.NET’e Hoşgeldiniz
Nerdeyim? GirişPhpNuke › NSN Work Board Modülündeki Türkçe Karakter Hatasını Düzeltiyoruz

PhpNuke için en iyi proje yönetimi modüllerinden biri olan NSN Work Board üstündeki Türkçe karakter hatasını bu yazımızda düzeltmeyi göreceğiz. Birçok forumda rastladığım konulardan biriydi bu. Henüz tam çözümleri sunulmadığı için, sizlere bu makaleyi hazırladım. Umarım karakter hatası yaşayanların problemleri düzelir. Hatayı düzeltmek için devam ediyoruz okumaya öyleyse ;)

NSN Work Board

Yapacağımız değişiklikler bir hayli uzun gelebilir sizlere :) Neyse hadi başlayalım.

  1. modules/Work_Board/admin/projectinsert.php dosyasını açınız.
    [php num=11]$project_name = htmlentities($project_name);
    $project_description = htmlentities($project_description);[/php]
    kodlarını bulun ve alttakiler ile değiştirin.
    [php num=11]$project_name = htmlspecialchars($project_name);
    $project_description = htmlspecialchars($project_description);[/php]
  2. modules/Work_Board/admin/projectupdate.php dosyasını açınız.
    [php num=10]$project_name = htmlentities($project_name);
    $project_description = htmlentities($project_description);[/php]
    kodlarını buluyor ve alttakiler ile değiştiriyoz.
    [php num=10]$project_name = htmlspecialchars($project_name);
    $project_description = htmlspecialchars($project_description);[/php]
  3. modules/Work_Board/admin/taskpriorityinsert.php dosyasını açınız.
    [php num=10]$priority_name = htmlentities($priority_name);[/php]
    kodunu bulun ve,
    [php num=10]$priority_name = htmlspecialchars($priority_name);[/php]
    olarak değiştirin.
  4. modules/Work_Board/admin/projectpriorityupdate.php dosyasını açınız.
    [php num=10]$priority_name = htmlentities($priority_name);[/php]
    kodunu bulup alttaki ile değiştiriniz.
    [php num=10]$priority_name = htmlspecialchars($priority_name);[/php]
  5. modules/Work_Board/admin/projectstatusinsert.php dosyasını açınız.
    [php num=10]$status_name = htmlentities($status_name);
    $status_description = htmlentities($status_description);[/php]
    kodlarını alttakiler ile değiştiriniz.
    [php num=10]$status_name = htmlspecialchars($status_name);
    $status_description = htmlspecialchars($status_description);[/php]
  6. modules/Work_Board/admin/projectstatusupdate.php dosyasını açınız.
    [php num=10]$status_name = htmlentities($status_name);
    $status_description = htmlentities($status_description);[/php]
    kodlarını yine alttakiler ile değiştiriyoz.
    [php num=10]$status_name = htmlspecialchars($status_name);
    $status_description = htmlspecialchars($status_description);[/php]
  7. modules/Work_Board/admin/taskinsert.php dosyasını açınız.
    [php num=11]$task_name = htmlentities($task_name);
    $task_description = htmlentities($task_description);[/php]
    kodlarını alttakiler ile değiştirin.
    [php num=11]$task_name = htmlspecialchars($task_name);
    $task_description = htmlspecialchars($task_description);[/php]
  8. modules/Work_Board/admin/taskupdate.php dosyasını açınız.
    [php num=10]$task_name = htmlentities($task_name);
    $task_description = htmlentities($task_description);[/php]
    kodlarını alttakiler ile değiştiriyoruz.
    [php num=10]$task_name = htmlspecialchars($task_name);
    $task_description = htmlspecialchars($task_description);[/php]
  9. modules/Work_Board/admin/taskpriorityinsert.php dosyasını açınız.
    [php num=10]$priority_name = htmlentities($priority_name);[/php]
    kodunu,
    [php num=10]$priority_name = htmlspecialchars($priority_name);[/php]
    olarak değiştiriyoruz.
  10. modules/Work_Board/admin/taskpriorityupdate.php dosyasını açınız.
    [php num=10]$priority_name = htmlentities($priority_name);[/php]
    kodunu alttaki ile değiştirin.
    [php num=10]$priority_name = htmlspecialchars($priority_name);[/php]
  11. modules/Work_Board/admin/taskpriorityedit.php dosyasını açınız.
    [php num=12]$priority['priority_name'] = htmlentities($priority['priority_name']);[/php]
    kodunu bulun ve alttaki ile değiştirin.
    [php num=12]$priority['priority_name'] = htmlspecialchars($priority['priority_name']);[/php]
  12. modules/Work_Board/admin/taskstatusinsert.php dosyasını açınız.
    [php num=10]$status_name = htmlentities($status_name);
    $status_description = htmlentities($status_description);[/php]
    kodlarını bulup alttakiler ile değiştirin.
    [php num=10]$status_name = htmlspecialchars($status_name);
    $status_description = htmlspecialchars($status_description);[/php]
  13. modules/Work_Board/admin/taskstatusupdate.php dosyasını açınız.
    [php num=10]$status_name = htmlentities($status_name);
    $status_description = htmlentities($status_description);[/php]
    kodlarını alttakiler ile değiştirin.
    [php num=10]$status_name = htmlspecialchars($status_name);
    $status_description = htmlspecialchars($status_description);[/php]

Son olarak, eğer daha önceden eklemiş olduğunuz proje, durum v.b. bilgiler varsa her birini düzenleme yapıp tekrar kaydetmelisiniz. Çünkü bu eski kayıtlar veritabanında Türkçe karakterleri kodlanmış olarak durmaktadırlar. Her birini düzenleme yapıp tekrar kaydettiğinizde düzgün bir şekilde güncelleneceklerdir.
Ve bu kadar… Geçmiş olsun..

Bu yazı 26 Ekim 2005, 22:48 tarihinde yazılmış olup bu zamana kadar 2,167 kez görüntülenmiştir
En son ise 28 Eylül 2008, 16:16 tarihinde güncellenmiştir

Bu yazı 12 adet yorum almıştır ve bunların son 10 adeti görüntülenmektedir. Bu yazıya yapılan tüm yorumları görmek için arşivi görüntüleyiniz. TÜM YORUMLARI OKUMAK İÇİN TIKLAYINIZ.

#12 – 31 Ekim 2005 , 12:54

Ok geçmiş olsun ;)

  • Yorumlar: 1119
  • İlk Yorum:
    16 Eki. 2005
#11 – 31 Ekim 2005 , 11:59

Alpay Ogus

heyoooooooooooooooooooo
Şu anda kullandığım herşey çalışıyor. Ellerine sağlık

  • Yorumlar: 8
  • İlk Yorum:
    28 Eki. 2005
#10 – 31 Ekim 2005 , 01:03

İleride yaşabileceğiniz sql problemleri için önerdiğim sistem çok daha güvenlidir, tabi o öneridir.
Hatanın çözümü olarak 7.9′lar üstünde, yukarıdaki değişiklikler içerisinde _description geçen tüm satırların başına // koymak. Örneğin;
Değiştirme yapılmamış dosyada,
$project_description = htmlentities($project_description);
şeklinde ise,
//$project_description = htmlentities($project_description);
olarak değiştirin.
Yok yukarıdaki değişiklikler yapılmışsa,
$project_description = htmlspecialchars($project_description);
yerine,
//$project_description = htmlspecialchars($project_description);
yapın.
İçerisinde _description geçenlerin hepsini böyle yapın, bir problem kalmaz.

  • Yorumlar: 1119
  • İlk Yorum:
    16 Eki. 2005
#9 – 30 Ekim 2005 , 23:50

Alpay Ogus

çok yormadıysam şunu sormak istiyorum
Sistemde bu hali ile çalışan birsürü modül var. Bumodüllerde de birçok çalışan açıklama table ları var. Yani sadece workboard ın bu proje insert kısmındaki açıklama kutucuğunu diğerlerinden faydalanarak doğru çalışır hale getirmem çok zor birşeymi.
Yani komple sitemi söylediğin versiyonlara geri almam daha zor geldi bana.

  • Yorumlar: 8
  • İlk Yorum:
    28 Eki. 2005
#8 – 30 Ekim 2005 , 23:36

Alpay Bey, probleminizin nedeni 7.8 ve 7.9 üstünde bulunan tinyMCE metin editörüdür. Bu editör 7.8 üstünde herhangi bir problem yaratmazken, 7.9 üstünde sorun yapıyor. 7.9 ‘un filtre fonksiyonuna yama yapsanız bile bu editörün tavrını değiştirmiyor. Kısacası, deneme olarak metin editörünü pasifleştirin. Ve sadece eski görünümlerdeki gibi, yazı kutusu içerisine bol Türkçe harfli açıklamanızı yazın. Özellikle ü,ö harflerini bolca kullanın. Çünkü editör bunları farklı kodluyor. Metin editörsüz bir kayıt yaptığınızda problem kalmadığını göreceksiniz.
Ve gördüğünüz üzere problem 7.9′un metin editöründe.
Benim size tavsiyem, 7.6 Final+3.1 Yaması+FCK Editör olacaktır. Kolay gelsin :)

  • Yorumlar: 1119
  • İlk Yorum:
    16 Eki. 2005
#7 – 30 Ekim 2005 , 21:29

Alpay Ogus

sorunu şu şekilde daha da daralttım
mysql ile Sql table açıklama kısmına türkçe yazı yazdım.

Görüntü normal türkçe olarak geliyor.
Yani sanırım project insert dosyasında acıklama kısmının kodunda bir hata var. Belki 7.8 3.1 de ortaya çıkan

az bilirsen böyle atarsın işte
:mrgreen: :mrgreen:
sana belki faydası olur diye bu gözlemleri yazıyorum. Bilgiçlik taslamak değil amacım
alpay

  • Yorumlar: 8
  • İlk Yorum:
    28 Eki. 2005
#6 – 30 Ekim 2005 , 21:18

Alpay Ogus

merhaba
uzun uğraşılar sonucu gene söylediğim bölüm çalışmadı. Ama şu sonuca vardım. 77.3.1a patch li nsn center block kurulu olan http://www.pandul.org adlı sitede sorun yok. workboard çalışıyor. heryer de türkçe

Ama kendi çalışmam amamçlı kurduğum 7.8.31 nuke kurulu sitede görev dosyası linkinde açıklamalar kısmına yazdığım yazılar sql den ne geliyorsa onu alıyor. kod kısmı dahil herşeyi gösteriyor. Sql table lara baktım. orda ne varsa açıklama kısmına aynen geliyor. Ama başka modüller de sql table da yine aynı şekilde türkçe sorunlu kod olsada site modül yada bloklarında bu doğru biçiminde görünüyor.

Tekrar bir patch 3.1 yüklemei düşünüyorum. ne dersin

alpay

  • Yorumlar: 8
  • İlk Yorum:
    28 Eki. 2005
#5 – 30 Ekim 2005 , 10:37

Alpay Bey, üsteki tüm değişiklikleri tam olarak yaptığınızdan emin misiniz? Açıkçası ben başka bir problem bulamadım. Dediklerinizi de aynen uyguladım. Hatta veritabanı karşılaştırma değerlerinden doğabilecek bir hata olabilir diye, latin5_turkish_ci , ve latin1_general_ci karşılaştırma değerine sahip iki ayrı veritabanına sahip phpnuke üstünde denedim ama yine de açıklama kısmında bahsettiğiniz probleme rastlamadım :?

  • Yorumlar: 1119
  • İlk Yorum:
    16 Eki. 2005
#4 – 30 Ekim 2005 , 01:38

Alpay Ogus

Söylediğim sorunda database e daha önceden girilmiş veri yoktu. Hepsi düzeltmelerden sonra girildi.
ve bir önceki yorumumda söylediğim durum devam ediyor

  • Yorumlar: 8
  • İlk Yorum:
    28 Eki. 2005
#3 – 30 Ekim 2005 , 01:36

Alpay Ogus

Hakan merhaba

Workboard ta söylediklerin ok dir sorun olmadan hallettim. Ama Proje ekle kısmında “proje açıklaması” var. oraya da türkçe harf olan açıklamalar yazıyorum admin olarak. Burda da sorun yok. Fakat blokta user olarak baktığımda “Görev dosyası” na tıkladığımda proje ayrıntısına baktığımda açıklama kısmı olduğu gibi kodlarıyla birlikte

modules.php?name=Work_Board&op=WBViewProject&project_id=6 linkinde

geçen sene olduğu gibi bu sene de güneyde gereklidir. şeklinde görüntü veriyor
Düzenle dediğimde açıklama içerisinde türkçe karakterde sorun yok.
Bunu nasıl hallederim.

Senin söylediğin düzeltmelerden önce bu durum varmıydı dikkat etmemişim.

  • Yorumlar: 8
  • İlk Yorum:
    28 Eki. 2005
YAZIYI BEĞENDİN Mİ?

Yazını çok beğendim. Yeni yazılarının e-posta adresime gelmesini istiyorum :)

Haberler RSS Yorumlar RSS

© 2008 Tüm hakları dmRy.net'e aittir.
Kullanım şartları yerine getirilmeden hiçbir şekilde kopyala-yapıştır yapılamaz, yazılar ve bilgiler kullanılamaz.