Python: Windows’ta Türkçe Karakter Sorunu
Diyelim ki elimizde şöyle bir şey var:
#-*- coding: cp1254 -*- def kayit_ekle(isim, soyisim, sehir, meslek, tel, adres): kayit = {} kayit["%s %s" %(isim, soyisim)] = [sehir, meslek, tel, adres] print "\nBağlantı bilgileri kayıtlara eklendi!\n" for k, v in kayit.items(): print k print "-"*len(k) for i in v: print i kayit_ekle(isim = "Abdurrahman", soyisim = "Çelebi", meslek = "Öğretmen", tel = "0212 123 45 67", sehir = "İstanbul", adres = "Çeliktepe")
Bu kodları (utf-8 ile) GNU/Linux’ta çalıştırırken herhangi bir Türkçe karakter sorunuyla karşılaşmıyoruz. Ancak aynı kodları Windows’ta çalıştırmak istediğimizde şöyle bir çıktı alıyoruz:
Balant² bilgileri kay²tlara eklendi! Abdurrahman Ãelebi ------------------ ¦stanbul Íretmen 0212 123 45 67 Ãeliktepe
Gördüğünüz gibi bütün Türkçe karakterler birbirine girmiş durumda. Bunun temel sebebi Windows’ta komut satırının öntanımlı yazı tipinin unicode karakterleri gösterememesi. Yani aslında komut satırının kendisi Türkçe karakterleri düzgün bir şekilde algılayabiliyor. Ancak kullanılan öntanımlı yazı tipi bu karakterlerin düzgün bir şekilde gösterilmesine müsaade etmiyor… Ayrıca ortaya çıkan bu durumda, MS-DOS’un öntanımlı kod sayfasının da etkisi var.
Yukarıdaki sorundan kurtulmak için şu işlemleri yapmamız gerekiyor:
1. Önce kullanılan kod sayfasını değiştiriyoruz:
chcp 12542. Ardından pencere başlığına sağ tıklayıp “özellikler”e giriyoruz.
3. Yazı Tipi sekmesi içinde yazı tipini “Lucida console” olarak değiştiriyoruz.
4. Tamam’a basıyoruz.
5. Karşımıza çıkan pencerede, “özellikleri sadece geçerli pencereye uygula” seçeneğini işaretliyoruz.
Şimdi en başta verdiğimiz betiği çalıştırdığımızda şu çıktıyı alıyoruz:
Bağlantı bilgileri kayıtlara eklendi! Abdurrahman Çelebi ------------------ İstanbul Öğretmen 0212 123 45 67 Çeliktepe
Istihza abi random modulunu anlatabilme sansin var mi cok acil lazim oldu
Fırat abi yukarıda ilk yazdığın şeyi nasıl yapacağız?.yani chcp 1254 ü?.
Başlat > Çalıştır yolunu takip et. Açılan küçük pencereye cmd yazıp ENTER tuşuna bas. Siyah MS-DOS ekranı açılacak. İşte orada chcp 1254 yazıp ENTER’e basacaksın.
bişey soracam python yüklemeyi düşünüyorum. Fakat python programı paralı mı?? Teşekkürler
Hayır. Paralı değil.
teşekkürler…
affedersiniz ama 2 sorum daha olacak
1. Pythonda ben bir program yaptım diyelim. Ben bu programı python yüklü olmayan bir bilgisayarda çalıştırabilir miyim?
2. PYGTK nın çalışması için yüklenecek şeyler ücretli mi?
Teşekkürler…
Evet, py2exe adlı program yardımıyla, kendi yazdığınız programları Python kurulu olmayan bilgisayarlarda çalıştırabilirsiniz.
PyGTK ve bu kütüphanenin çalışması için kurulması gereken öteki kütüphaneler ücretsizdir.
Bu arada, bu tür sorularınız için http://www.istihza.com/forum adresindeki forumumuzu kullanırsanız daha kolay yardım alırsınız.
chcp 1254 girdiğimde “‘chcp’ iç ya da dış komut, çalıştırılabilir
program ya da toplu iş dosyası olarak tanımlanmıyor.” hatası veriyor. Acaba ner yanlışım var?
Bendede can arkadaşın dediği gibi chcp 1254 komutunu girdiğimde “‘chcp’ iç ya da dış komut, çalıştırılabilir program ya da toplu iş dosyası olarak tanımlanmıyor.” diye hata veriyor.
YARDIM…….
mac os x (10.4), python 2.7.2
çözemedim türkçe karakter sorununu. dışlamayın os x’i
Özellikle dışlamıyorum.
Elimde OS X olmadığı için böyle oluyor…