Re: Kmail ve liste sorunu
Selam,
Şimdi sınamayı olması gerektiği gibi yapmışsınız.
Teşekkür ederim. Bu sınama benim savımı doğruluyor.
KMail tr_TR.ISO-8859-9 yerelinde yanlış dönüşüm
yaparken, tr_TR.UTF-8 yerelinde doğru dönüşüm
yapıyor. Bu tamamen KDE'nin yerel ayarı ne olursa
olsun, UTF-8 kodlama kullanmasından kaynaklanıyor.
Uygulama yazarları da bu önkabule göre yazılımlarını
geliştiriyor olmalılar ki, yerelimizi UTF-8
kodlamayı kullanacak şekilde ayarladığımızda
yanlış dönüşüm sorunlarıyla karşılaşmıyoruz.
Konu dağılmasın diye aşağıdaki iletiden alıntı
yaparak kafa karışıklığınızı gidermeye çalışacağım.
Bu, yerelin UTF-8 kodlama kullanacak şekilde ayarlandığında
KMail'in kodlama tercihleri listesi:
> Composer -> Karakter kumesi icerisinde;
>
> us-ascii
> iso-8859-1 <====================
> utf-8 (locale)
> utf-8
Dikkat edin yerel tr_TR, kodlama UTF-8 ve I/i dönüşümü *doğru*
Eğer sizin savınız doğru olsaydı o satırın ıso-8859-1 olması
gerekmez miydi?
Özellikle ayırarak yazdım: yerel tr_TR, kodlama UTF-8.
yerel ile kodlamayı aynı şey gibi düşünmek, UTF-8
kodlama kullanan yerellerin olmadığı zamanlardan (aslında
yakın geçmiş) kalma yanlış bir varsayım. Biz pek ala
tr_TR yerelini ISO-8859-15 kullanacak şekilde de üretebiliriz.
(Bkz. man localeconv).
/etc/environment dosyasındaki ayarlara sistemin
ihtiyacı yok. Hangi karakter kodlamasını kullanırsanız
kullanın, ilk 127 karakter ASCII-127'dir. Arapça için
bile bu böyle.
/etc/environment dosyanızda yerel ayarları ile ilgili
satırlardan başka bir şey yok. /etc/profile dosyası
ise tüm kullanıcılar için öntanımlı yapılanmayı
içerir. Kullanıcı bunları ~/.profile dosyasında
değiştirebilir (bu işlemin ingilizcesi: overriding).
/etc/environment PAM içindir diyorsunuz ama gdm'de
gidip o dosyaya bakıyor ve yerel ayarınızın ne
olduğuna bakmaksızın yereli orada yazdığınız gibi
tr_TR yapıyor. Nerede kaldı sizin ~/.profile dosyasında
yaptığınız seçim?
Bu iki nedenle /etc/environment dosyasını *silin* diyorum.
İhtiyaç olmadığı gibi sorunlara yol açıyor. Savunduğunuz
gibi masum bir dosya değil o. Yerel ayarı bir yerde
tr_TR, başka bir yerde tr_TR.UTF-8 olmaz. Hepsi aynı
olmalıdır.
Sistem belgelerini okumuşsanız /etc/environment dosyasının
atıl olduğu bir yerlerde yazıyor. O kadar çok belge
okuyorum ki, yerini şu an hatırlamıyorum.
Bu, /etc/environment dosyasını silmemin 3. sebebi.
Sonuç olarak, ayarlarınızı nasıl yaparsanız yapın,
KDE kullanmak ve sorun yaşamak istemiyorsanız,
yereliniz tr_TR.UTF-8 ya da en_US.UTF-8 olmak zorunda.
Esen kalın,
Nilgün
Cum 17 Haz 2005 10:14 sularında, Serdar Aytekin şunları yazmıştı:
> Merhaba,
>
> * Nilgün Belma Bugüner [Thu, Jun 16, 2005 at 06:38:28PM +0300]
> > Selam,
> >
> > Lütfen testinizi tam yapar mısınız?
> > Yerel ayarınızı tr_TR.UTF-8 olarak tarif ettiğim
> > şekilde yaptıktan sonra neler olduğunu da inceleyin.
> > Siz tahmin yapıp bu böyle olmalı diyorsunuz.
> >
> > Ben posta başlıklarını kendim değiştirmiyorum, neyse o.
> > Bu iş takım tutmaya dönüşmeye başladı. Bana bir
> > yalancı demediğiniz kaldı. Bir zahmet önerimi
> > uygulayın... LÜTFEN!
>
> Siz benim yazdigim iletiyi dikkatlice okudunuz mu? Ben iletide
> tr_TR.UTF-8 yereli ile sorun yasanmadigini, tr_TR.ISO-8859-9
> ile sorun yasandigini vurgulamaya calisiyorum. Ve bu durumun,
> sistem yereli tr_TR.ISO-8859-9 iken ilklendirildiginde, yani
> Kmail, sistem yereli tr_TR.ISO-8859-9 olarak ayarlanmisken ilk
> defa baslatildiginda karakter kumesi cevirimini hatali yaparak
> iso-8859-9 yerine ıso-8859-9'u gonderilecek iletilerin karakter
> kumesi icerisine dahil ettigine dikkat cekmek istiyorum. Size
> gonderdiginiz iletilerin basliklarini degistiriyorsunuz, aslinda
> sizde de bu hata var ama gizliyorsunuz gibi bir yaklasim
> sergilemiyorum. Belli kosullar altinda ortaya cikan bir durum var.
> Onu izah etmeye calisiyorum.
>
> "Bana bir yalanci demediginiz kaldi" seklindeki bir yaklasim biraz
> agir ve acimasiz degil mi?
>
> Kmail'de gonderilen iletiler icin tanimlanan karakter kumesinde
> ıso-8859-9 yereli yer alinca ne oluyor? Gonderilen iletilerin konu
> basligi veya icerigi Turkce karakter iceriyorsa, bunlarin kodlamasi
> sizin Kmail'deki karakter kumelerinizde yer alan hatali ıso-8859-9
> ile yapiliyor. Boyle olunca da hatali kodlamaya sebep oluyor, karsi
> makineden geri donme ihtimali var ki, Debian listelerinde bu durum
> var.
>
> Kmail'in karakter kumesinde iso-8859-9 yerine ıso-8859-9 donusumu
> yapildiginda gonderilen iletilerin durumlarina bir bakalim
>
> Ileti icerigi Turkce karakter iceriyorsa gonderilen iletinin header
> bilgilerinde Content-Type bilgisi :
>
> Content-Type: text/plain; charset="ıso-8859-9"
> ^^^
>
> Iletinin konu basligi Turkce karakter iceriyorsa bu defa header
> bilgilerindeki subject alani "=?ıso-8859-9?" seklinde kodlar iceriyor.
>
> # dpkg-reconfigure locales komutu ile yerelinizi *tr_TR.UTF-8*
> olarak ayarliyorum (UTF8 ile birlikte ISO-8859-9'unda yer aldigina
> dikkat):
>
> # dpkg-reconfigure locales
> Generating locales...
> en_US.ISO-8859-1... done
> tr_TR.ISO-8859-9... done
> tr_TR.UTF-8... done
>
> # cat /etc/environment
> LANG=tr_TR.UTF-8
>
> ve Kmail ilk defa bu ayarlar ile yapilaniyorsa
> Composer -> Karakter kumesi icerisinde;
>
> us-ascii
> iso-8859-1
> utf-8 (locale)
> utf-8
>
> seklinde tanimlama yer aliyor. Yerellerimde iso-8859-9'uda
> bulundurmama ragmen iso-8859-9 yer almiyor.
>
> Simdi .kde dizinini silip Kmail'in onceki ayarlari kaybetmesini
> sagliyorum. X'den cikis yapip;
>
> # dpkg-reconfigure locales komutu ile sistem yerelini
> *tr_TR.ISO-8859-9* olarak seciyorum:
>
> # dpkg-reconfigure locales
> Generating locales...
> en_US.ISO-8859-1... done
> tr_TR.ISO-8859-9... done
> tr_TR.UTF-8... done
>
> # cat /etc/environment
> LANG=tr_TR
>
> ve Kmaili yeniden baslattigimda Composer-> Karakter kumesi
> icerisinde;
>
> us-ascii
> iso-8859-1
> ıso-8889-9 (locale) => Bu kisimdaki yerel hatali
> utf-8
>
> yer aliyor.
>
> Ilk ornekte (tr_TR.UTF-8 yereli ile) sorun yok, gonderilen iletiler
> de Turkce karakter varsa utf-8 olarak kodlanacak.
>
> Ikinci ornekte (tr_TR.ISO-8859-9 yereli) gonderilen iletilerde Turkce
> karakter varsa "ıso-8859-9" olarak kodlanacak ve iletinin geri
> donmesine neden olacak. Cunku hatali kodlama.
>
> - Sistem yereliniz en basindan itibaren tr_TR.UTF-8 olarak ayarli ise
> Kmail yapilandirmasinda da sorun olmayacak. Yani, Composer -> Karakter
> kumesi icerisinde yso-8859-9 olmadigi surece veya ileti gonderilirken,
> her *ileti gonderimi esnasinda* (Composer ekraninda) Secenekler
> kismindan Karakter kodlamasini duzenle deyip iso-8859-9 secmezseniz.
>
> Bu duruma iliskin cozumleri de onceki iletide ifade etmistim. Cozumu
> de cok zor degil. Cozumsuz de degil. Gerekli yama da uygulandi
> ve yeni surumunde cozuldu de zaten.
>
> Sonuc olarak varmak istedigim nokta su, sorunun Debian'a bakan bir
> yonu gorunmuyor. Kmail I->ı donusumunu hatali yapiyor. Boyle bir
> durumda keskin bir cikis yaparak /etc/enviroment dosyasini silin
> veya sorun kesin Debian yerellerinden kaynaklaniyordur gibi bir tutum
> pek uygun olmuyor. Zira Kmail'deki bu sorunun varligi cesitli listelerde
> defaten dile getirildi. Cozumu de bulundu. Artik netlige kavusmus bir
> konuda Debian'in yerel ayarlarina yuklenmek, ayar dosyalarini silmek
> tutarsizliga sebep olacak sekilde degistirmek dogru mu sizce? Kaldi ki
> bu Turkce'nin yapisindan dolayi bu tur sorunlar hep karsimiza cikiyor.
> Sylpheed'de de kismen benzerlik gosteren bir durum vardi, o da
> giderilmis mesela (http://zzz.fisek.com.tr/seyir-defteri/).
>
> Debian kullanmaya veya tanismaya baslamaniz sahsen beni cok memnun
> etti. Cunku sizin gibi cok degerli calismalara imza atmis birisi
> Debian camiasi icin cok buyuk bir kazanim olacaktir. Her konuda ki
> bilgilerinizden, tecrubelerinizden istifade etmek isteriz. Ancak
> yukaridaki durumun belirli bir kosul altinda olusan hata oldugunu,
> bunun da cozumunu Debian'in yerel ayarlari yerine Kmail'de aramak
> gerektigini izah etmeye calisiyorum (veya calisiyoruz).
>
> --
> Saygilarimla,
> Serdar Aytekin
>
>
Esen kalın,
Nilgün
Reply to: