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

