Σελίδα 1 από 2

Μετατροπή encoding αρχείων

ΔημοσίευσηΔημοσιεύτηκε: 14 Μάιος 2008, 02:16
από eirc
αργά ή γρήγορα όλοι κάπου θα δούμε ένα αρχείο ελληνικού κειμένου γραμμένο στα win που δεν μπορούμε να διαβάσουμε με την μία μιας και ο gedit δεν αναγνωρίζει αυτόματα το encoding.. ειδικά σε υπότιτλους είναι μεγάλο πρόβλημα μιας και η συντριπτική πλειοψηφία είναι γραμμένη στα win.

εφτιαξα λοιπόν ένα scriptάκι που μπορεί να μπεί στα "open with..." αρχείων όπως txt και srt και μετατρέπει αυτόματα το αρχείο σε ένα καινούριο με utf-8 encoding

το έχω βάλει εδω: http://www.eirc.gr/utf8convert_0.1-all.deb σε deb για εύκολη εγκατάσταση

(btw για τους administrators του forum: γίνεται η κατάληξη .deb να επιτρέπεται σαν επισυναπτόμενο αρχείο μιας και είναι ιδιαίτερα σχετική με το forum?)


το παρόν νήμα μεταφέρθηκε στην παρούσα κατηγορία "Οδηγοί - How to" από την κατηγορία "Ερωτήσεις -Προβλήματα Software"
14-5-08, ilpara

Re: Μετατροπή encoding αρχείων

ΔημοσίευσηΔημοσιεύτηκε: 15 Μάιος 2008, 13:26
από bullgr
eirc έγραψε:αργά ή γρήγορα όλοι κάπου θα δούμε ένα αρχείο ελληνικού κειμένου γραμμένο στα win που δεν μπορούμε να διαβάσουμε με την μία μιας και ο gedit δεν αναγνωρίζει αυτόματα το encoding..


Και μιας και το έφερε το θέμα, υπάρχει τρόπος να μετατρέπουμε οποιοδήποτε κείμενο text (όχι με μορφοποίηση)
από μια κωδικοποίηση χαρακτήρων σε άλλη.
Για παράδειγμα για να αλλάξουμε ένα αρχείο κειμένου φτιαγμένο σε winblows iso-8859-7 σε utf8 ανοίγουμε μια
κονσόλα και δίνουμε την παρακάτω εντολή.

Κώδικας: Επιλογή όλων
iconv -f iso-8859-7 -t utf8 iso_file.txt > utf_file.txt


Αυτή η εντολή θα δημιουργήσει ένα νέο αρχείο κειμένου utf_file.txt με κωδικοποίηση χαρακτήρων utf8.
Το πηγαίο αρχείο κειμένου iso_file.txt με κωδικοποίηση χαρακτήρων iso-8859-7 παραμένει άθικτο.

Τονίζω ότι δεν παίζει ρόλο η επέκταση του αρχείου (.txt) αρκεί να είναι αρχείο κειμένου.
Άρα η παραπάνω εντολή ισχύει και για τους υπότιτλους με επέκταση .srt κλπ.

Re: Μετατροπή encoding αρχείων

ΔημοσίευσηΔημοσιεύτηκε: 19 Μάιος 2008, 02:25
από eirc
βασικά το scriptάκι που δίνω κάνει ακριβώς αυτό :D

Re: Μετατροπή encoding αρχείων

ΔημοσίευσηΔημοσιεύτηκε: 19 Μάιος 2008, 06:54
από headless
Υπάρχει κι ένας πιο "μπακαλίστικος" τρόπος,για όσους δεν είναι εξοικειωμένοι με την κονσόλα.
Μπορείτε να ανοίξετε το αρχείο με τον firefox (Ctrl+O) και να αλλάξετε το encoding από Προβολή-Κωδικοποίηση χαρακτήρων.

Re: Μετατροπή encoding αρχείων

ΔημοσίευσηΔημοσιεύτηκε: 19 Ιουν 2008, 15:16
από sparus
Όταν δίνω αυτή την εντολή
Κώδικας: Επιλογή όλων
iconv -f iso-8859-7 -t utf8 iso_file.txt > utf_file.txt

Το αρχείο γίνεται 0 bytes και μέσα του έχουν εξαφανιστεί όλα. Κάνω κάτι λάθος?

Re: Μετατροπή encoding αρχείων

ΔημοσίευσηΔημοσιεύτηκε: 19 Ιουν 2008, 15:24
από simosx
sparus έγραψε:Όταν δίνω αυτή την εντολή
Κώδικας: Επιλογή όλων
iconv -f iso-8859-7 -t utf8 iso_file.txt > utf_file.txt

Το αρχείο γίνεται 0 bytes και μέσα του έχουν εξαφανιστεί όλα. Κάνω κάτι λάθος?


Ξέχασες ένα <

Έτσι,

iconv -f iso-8859-7 -t utf8 < iso_file.txt > utf_file.txt

Re: Μετατροπή encoding αρχείων

ΔημοσίευσηΔημοσιεύτηκε: 19 Ιουν 2008, 15:41
από sparus
Α οκ ευχαριστώ! Bullgr διόρθωσε το και στον κώδικα που δίνεις.

Re: Μετατροπή encoding αρχείων

ΔημοσίευσηΔημοσιεύτηκε: 19 Ιουν 2008, 15:54
από simosx
Κάπου απάντησα για τέτοια ερώτηση, ότι κάποιος μπορεί να χρησιμοποιήσει τον επεξεργαστή κειμένου (Εφαρμογές/Βοηθήματα/Επεξεργαστής κειμένου) για την ίδια δουλειά.

Re: Μετατροπή encoding αρχείων

ΔημοσίευσηΔημοσιεύτηκε: 19 Ιουν 2008, 16:01
από sparus
Άκυρο. Δε φταίει ο κώδικας. Απλά αν βάλεις το ίδιο όνομα αρχείου στο βγάζει 0 bytes. Και οι δύο κώδικες σωστοί είναι. Εγώ προσπαθούσα επιτόπου να αντικαταστήσω το παλιό αρχείο

Re: Μετατροπή encoding αρχείων

ΔημοσίευσηΔημοσιεύτηκε: 20 Ιουν 2008, 02:17
από bullgr
sparus έγραψε:Άκυρο. Δε φταίει ο κώδικας. Απλά αν βάλεις το ίδιο όνομα αρχείου στο βγάζει 0 bytes. Και οι δύο κώδικες σωστοί είναι. Εγώ προσπαθούσα επιτόπου να αντικαταστήσω το παλιό αρχείο

Έτσι μπράβο, γιατί το έχω κάνει άπειρες φορές και μου φαινόταν παράξενο όταν είπατε ότι λείπει ένα "<".