text file encoding (οφτόπικ)

Γιώργος Πάλλας gpall at ccf.auth.gr
Fri Nov 11 20:15:54 EET 2011


On 11/11/2011 07:50 μμ, Θοδωρής Λύτρας wrote:
> Στις Παρ 11 Νοε 2011, ο/η Γιώργος Πάλλας έγραψε:
>   
>> Καλημέρα!
>>
>> Ερώτηση: Ποιο είναι το πρέπον encoding για ανταλλαγή text αρχείων με
>> ελληνικά;
>> Έχω βρεί το μπελά μου σε ένα μάθημα που κάνω όπου εγώ τους δίνω text
>> αρχεία σε UTF-8 encoding όπως είναι το default στο linux, αυτοί δεν
>> μπορούν να το διαβάσουν με τα wordpad τους και τα notepad τους και τα
>> διάφορα MS Win flavours τους, ενώ αυτά που μου δίνουν αυτοί είναι
>> συνήθως σε ISO-8859-7 και στην καλύτερη σε UTF-16 που από ό,τι
>> καταλαβαίνω είναι αυτό που σώζουν τα windows όταν επιλέξεις 'Unicode'.
>>
>> Καταλαβαίνω την υποκειμενικότητα και την αοριστία της ερώτησης περί
>> πρέποντος encoding, αλλά για πείτε καμιά σκέψη...
>>
>> Γ.
>>     
> Επειδή έχω αντιμετωπίσει παρόμοια προβλήματα στο παρελθόν και ξέρω:
> χρειάζεσαι 2 utilities, το iconv και το unix2dos, ώστε να μετατρέπεις το 
> encoding και τα line breaks.
>
> Τα windows στο notepad (νομίζω και στο wordpad) χρησιμοποιούν όχι iso-8859-7 
> αλλά windows-1253, που δεν είναι ακριβώς το ίδιο (έχει κάποιες ενοχλητικές 
> διαφορές, βασικά στο Α κεφαλαίο τονούμενο). 
>
> Επίσης χρησιμοποιούν για line break τους χαρακτήρες CR (ASCII 13) και LF 
> (ASCII 10) μαζί, ενώ στο unix χρησιμοποιείται μόνο ο χαρακτήρας LF. Γι'αυτό 
> στο notepad εκτός από σκανδιναβικά σου βγάζει όλο το αρχείο σε μια γραμμή.
>
> Έτσι για να δουν αυτοί σωστά τα αρχεία που τους δίνεις,τα μετατρέπεις ως εξής:
>
> iconv -o windows.txt -f utf-8 -t windows-1253 linux.txt
> unix2dos windows.txt
>
> και **προαιρετικά** για να δεις εσύ αυτά που σου δίνουν:
>
> iconv -o linux.txt -f windows-1253 -t utf-8 windows.txt
> dos2unix linux.txt
>
> Λέω προαιρετικά, γιατί (ως συνήθως σε τέτοιες καταστάσεις!) εσύ μπορείς να 
> δεις αυτά που παράγουν τα windows χωρίς μετατροπή. Αφ'ενός μπορείς να ορίσεις 
> το encoding στον editor που χρησιμοποιείς σε windows-1253, αφ'ετέρου τα CRLF 
> line breaks όχι μόνο θα τα δει σωστά, αλλά (τουλάχιστον στο kwrite που 
> χρησιμοποιώ εγώ) όταν ξανασώσεις το αρχείο θα το σώσει πάλι με CRLF line 
> breaks και όχι με LF. Που σημαίνει οτι για να ξαναδώσεις στους μαθητές σου το 
> ίδιο αρχείο δε θα χρειάζεται καν μετατροπή!
>
> Συνεπώς, επιστρέφοντας στο αρχικό ερώτημα, παρότι το σωστό(ΤΜ) encoding για 
> ανταλλαγή αρχείων σε οποιαδήποτε γλώσσα είναι το utf-8 (UTF-8 rulez, κι ας μην 
> αρέσει στο Ρικούδη), στην περίπτωση που ανταλλάσσεις text αρχεία με χρήστες 
> windows το σωστό είναι το windows-1253 (that is, αν θες να είναι 
> ευχαριστημένοι και να μην είσαι ο περίεργος που δεν μπορούν να διαβάσουν τα 
> αρχεία του...).
>
> Θοδωρής
>
>   

Εγώ χρησιμοποιώ κάτι του στυλ recode <windows encoding>..UTF-8 * για να
μετατρέψω όλα τα αρχεία μαζικά (αυτό το recode μπας και είναι το ίδιο με
το iconv? -- anyway) ενώ το dos2unix δεν το χρησιμοποιώ απαραίτητα γιατί
οι KDE text editors (kate/kedit) τα δείχνουν σωστά (μόνο στην κονσόλα
βγαίνουν εκείνα τα 'Μ'). Αλλά βασικά το ερώτημά μου ήταν μια και οι
φοιτητές είναι Πληροφορικοί (κακώς δεν το είχα διευκρινήσει από την
αρχή), αν θα έπρεπε να τους αναγκάσω να συμμορφωθούν με το Σωστό
Encoding, το οποίο μετά τις απαντήσεις σας λέω να το κάνω :-)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 9597 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.hellug.gr/pipermail/linux-greek-users/attachments/20111111/fe3c878a/attachment.bin>


More information about the Linux-greek-users mailing list