Το Στέκι των Πληροφορικών

Επαγγελματικό Λύκειο => Γενικά => Προγραμματισμός Υπολογιστών => Μήνυμα ξεκίνησε από: zsdregas στις 13 Φεβ 2017, 01:55:39 ΜΜ

Τίτλος: Ελληνικά στην Python
Αποστολή από: zsdregas στις 13 Φεβ 2017, 01:55:39 ΜΜ
Γεια σας.
Έχω πρόβλημα με τους ελληνικούς χαρακτήρες στη Python. Δουλεύω με windows 10 και Python 2.7.10.
Έχω το παρακάτω πρόγραμμα:
Κώδικας (python) [Επιλογή]


# -*- coding: utf-8 -*-
w = "Καλημερα"
print w
for c in w:
    print c



Όταν το τρέχω από idle με Run Module εμφανίζεται το παρακάτω:

Κώδικας (python) [Επιλογή]

>>>
Καλημερα
Ξ

Ξ
±
Ξ
»
Ξ
·
Ξ
Ό
Ξ
µ
Ο

Ξ
±



Από το διερμηνευτή γραμμή - γραμμή, δουλεύει σωστά:
Κώδικας (python) [Επιλογή]


>>> w  = "Καλημερα"

>>> print w
Καλημερα
>>> for c in w:
...     print c
...
Κ
α
λ
η
μ
ε
ρ
α



Από γραμμή εντολών γίνεται ακόμα πιο ωραίο:
Κώδικας (python) [Επιλογή]


D:\projects\python>python substring-parajeno-1.py
╬γ╬▒╬╗╬╖╬╝╬╡╧Β╬▒

γ











Β



Τώρα καταλαβαίνω γιατί στα περισσότερα παραδείγματα του βιβλίου τα μηνύματα είναι στα αγγλικά ή σε greekglish.
Ίσως τα greekglish να είναι η λύση τις πιο πολλές φορές αλλά υπάρχει δραστηριότητα στο τετράδιο που βασίζεται στη σύγκριση ελληνικών χαρακτήρων, και πιο συγκεκριμένα η δραστηριότητα 3 στη σελίδα 90.
Τίτλος: Απ: Ελληνικά στην Python
Αποστολή από: taxata στις 13 Φεβ 2017, 05:40:01 ΜΜ
Για τη γραμμή εντολών δοκίμασε:
Κώδικας (python) [Επιλογή]

c:\>chcp
για να δεις τι codepage χρησιμοποιείς
εάν είναι το 737 (πολύ πιθανό) δώσε
c:\>chcp 1253 ή 869
c:\>python
και ξαναδοκίμασε

#---------------------------------------------------------------------
Κώδικας (python) [Επιλογή]

για το idle δοκίμασε να προσθέσεις στην αρχή του script
# -*- coding: cp1253 -*-

Δώστε feedback εάν διορθώθηκαν τα προβλήματα.
Τίτλος: Απ: Ελληνικά στην Python
Αποστολή από: zsdregas στις 20 Φεβ 2017, 04:23:05 ΜΜ
Ευχαριστώ για την απάντηση. Το
Κώδικας [Επιλογή]

chcp 1253

δούλεψε μια χαρά.
Τίτλος: Απ: Ελληνικά στην Python
Αποστολή από: dpa2006 στις 09 Απρ 2017, 10:29:28 ΜΜ
Δοκίμασε την 3.x Python.
και καλύτερα IDLE και όχι CMD.