Μετατροπή σε utf8

...office, φωτογραφία, CAD, spss, latex, κλπ

Συντονιστής: adem1

Μετατροπή σε utf8

Δημοσίευσηαπό mariag » 19 Μάιος 2011, 13:36

Γεια σας, μετά από καιρό! Καταρχάς ελπίζω να ποστάρω στη σωστή θεματική... Τι θέλω να κάνω λοιπόν: έχω κατεβάσει ένα corpus (κείμενα) από web (190.000) τα οποία θέλω όλα να τα μετατρέψω σε utf8 format αν ήδη δεν είναι... Η γλώσσα με την οποία παλεύω να το κάνω είναι η perl, στην οποία και θα ήθελα να παραμείνω. Μήπως έχετε καμιά ιδέα; Γενικά έχω ψάξει για ανάλογα προγραμματάκια, δεν είναι ότι δεν έχω βρει τίποτα, απλά δεν είμαι και γκουρού στον προγραμματισμό, οπότε όποια βοήθεια μπορεί κάποιος να μου προσφέρει είναι καλοδεχούμενη και πολύτιμη!

Ευχαριστώ
Γνώσεις ⇛ Linux: Λίγες ┃ Προγραμματισμός: Λίγα πράματα ┃ Αγγλικά: Καλά
Λειτουργικό σε Η/Υ ϰ μοντέλο:Ubuntu 9.10 σε DELL STUDIO HYBRID
Προδιαγραφές ⇛ T8100 │ 4GB │GM965│ HD AUDIO 7.1 │1920x1080
Άβαταρ μέλους
mariag
babeTUX
babeTUX
 
Δημοσιεύσεις: 18
Εγγραφή: 18 Μαρ 2010, 10:23
Εκτύπωση

Re: Μετατροπή σε utf8

Δημοσίευσηαπό medigeek » 19 Μάιος 2011, 22:23

Νομίζω γίνεται με την εντολή iconv στο linux :)
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Μετατροπή σε utf8

Δημοσίευσηαπό mariag » 19 Μάιος 2011, 22:49

Σάββα ευχαριστώ, αλλά ανακάλυψα ότι σε ό,τι φορμάτ κι αν είναι το αναγνωρίζει ως τέτοιο, κι ας μην είναι utf... Εγώ φταίω απ το κατέβασμα ξεκίνησε το λάθος. Οπότε ψάχνω ποια κείμενα δεν περιέχουν πχ το α και λέω όσα δεν το περιέχουν δεν είναι utf. Μπακαλιά λιγο, αλλα εξαρχής στραβά ξεκίνησα
Ευχαριστώ πάντως
Γνώσεις ⇛ Linux: Λίγες ┃ Προγραμματισμός: Λίγα πράματα ┃ Αγγλικά: Καλά
Λειτουργικό σε Η/Υ ϰ μοντέλο:Ubuntu 9.10 σε DELL STUDIO HYBRID
Προδιαγραφές ⇛ T8100 │ 4GB │GM965│ HD AUDIO 7.1 │1920x1080
Άβαταρ μέλους
mariag
babeTUX
babeTUX
 
Δημοσιεύσεις: 18
Εγγραφή: 18 Μαρ 2010, 10:23
Εκτύπωση

Re: Μετατροπή σε utf8

Δημοσίευσηαπό medigeek » 20 Μάιος 2011, 01:55

Μαζί με την εντολή grep (system command, όχι αυτή της perl):
Κώδικας: Επιλογή όλων
perl -e '$x=`grep -l α *`; print("These files contain α:\n".$x."\n");'
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Μετατροπή σε utf8

Δημοσίευσηαπό simosx » 20 Μάιος 2011, 17:24

mariag έγραψε:Γεια σας, μετά από καιρό! Καταρχάς ελπίζω να ποστάρω στη σωστή θεματική... Τι θέλω να κάνω λοιπόν: έχω κατεβάσει ένα corpus (κείμενα) από web (190.000) τα οποία θέλω όλα να τα μετατρέψω σε utf8 format αν ήδη δεν είναι... Η γλώσσα με την οποία παλεύω να το κάνω είναι η perl, στην οποία και θα ήθελα να παραμείνω. Μήπως έχετε καμιά ιδέα; Γενικά έχω ψάξει για ανάλογα προγραμματάκια, δεν είναι ότι δεν έχω βρει τίποτα, απλά δεν είμαι και γκουρού στον προγραμματισμό, οπότε όποια βοήθεια μπορεί κάποιος να μου προσφέρει είναι καλοδεχούμενη και πολύτιμη!


Για μετατροπή κωδικοποίησης, χρησιμοποιείς το iconv.

Για παράδειγμα
Κώδικας: Επιλογή όλων

iconv -f iso-8859-7 -t utf-8 < mycorpus.txt


και θα δείξει το αποτέλεσμα. Μπορείς να διακόψεις με Ctrl+C. Αν το αποτέλεσμα είναι σωστό, τότε η αρχική κωδικοποίηση ήταν iso-8859-7. Αν υπάρχει πρόβλημα με το Ά, τότε δοκιμάζεις

Κώδικας: Επιλογή όλων

iconv -f windows-1253 -t utf-8 < mycorpus.txt


Αν όλα είναι μια χαρά, μπορείς να αποθηκεύσεις το αποτέλεσμα με

Κώδικας: Επιλογή όλων

iconv -f windows-1253 -t utf-8 < mycorpus.txt > myutf8output.txt


και παράγει το αρχείο myutf8output.txt που είναι UTF-8.

Μπορείς ακόμα να δοκιμάσεις τον Κειμενογράφο (gedit), όπου έχει μια εύκολη επιλογή να επιλέξεις την αρχική κωδικοποίηση.
Οπότε δοκιμάζεις με windows-1253 ή iso-8859-7. Αν όλα είναι καλά, αποθηκεύεις.
προσωπικό ιστολόγιο ϗ πλανήτης Ubuntu-gr
Συμβάλετε και εσείς στο ελληνικό βιβλίο Ubuntu!
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 13.10 saucy 3.11.0-031100rc1-generic 64bit (el_GR.UTF-8, Unity ubuntu)
3 AMD E-450 APU with Radeon HD Graphics ‖ RAM 3555 MiB ‖ Sony Corporation VAIO
4 AMD nee ATI Wrestler [Radeon HD 6320] [1002:9806] {fglrx_pci}
5 eth0: Atheros Inc. AR8151 v2.0 Gigabit Ethernet [1969:1083] (rev c0) ⋮ wlan0: Atheros Inc. AR9285 [168c:002b] (rev 01)
Φτιάξτε και εσείς τη δική σας υπογραφή (παραπάνω κείμενο) αυτόματα με κλικ εδώ!
simosx
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 10334
Εγγραφή: 11 Μάιος 2008, 18:52
Launchpad: simosx
IRC: simosx
Εκτύπωση

Re: Μετατροπή σε utf8

Δημοσίευσηαπό mariag » 20 Μάιος 2011, 17:35

Σας ευχαριστώ πολύ και τους δυο σας, αλλά όπως σας είπα και πιο πριν, δυστυχώς -και δεν έχω ακόμα καταλάβει ακόμα το λόγο- σε ό,τι φορμάτ κι αν είναι το κάθε αρχείο που έχω κατεβάσει, το αναγνωρίζει ως utf-8... Οπότε λογικά αυτά που μου λέτε δεν μπορώ να τα εφαρμόσω, εφόσον κατά το πισι όλα είναι στο επιθυμητό φορμάτ...
Γνώσεις ⇛ Linux: Λίγες ┃ Προγραμματισμός: Λίγα πράματα ┃ Αγγλικά: Καλά
Λειτουργικό σε Η/Υ ϰ μοντέλο:Ubuntu 9.10 σε DELL STUDIO HYBRID
Προδιαγραφές ⇛ T8100 │ 4GB │GM965│ HD AUDIO 7.1 │1920x1080
Άβαταρ μέλους
mariag
babeTUX
babeTUX
 
Δημοσιεύσεις: 18
Εγγραφή: 18 Μαρ 2010, 10:23
Εκτύπωση

Re: Μετατροπή σε utf8

Δημοσίευσηαπό medigeek » 20 Μάιος 2011, 18:23

Ας πάμε από την αρχή:
1. Μπορείς να μας δώσεις ένα παράδειγμα αρχείου; Συμπίεσε το σε .zip και στείλε το κάπου όπως π.χ. το http://www.mediafire.com
2. Τα αρχεία είναι utf-8 και θέλεις να τα μετατρέψεις σε άλλο encoding; Από ποιο encoding σε ποιο encoding συγκεκριμένα;
3. Τα αρχεία τα μετατρέπεις για ποιο λόγο; Δε διαβάζονται; Από ποιο πρόγραμμα; Τι είδους αρχεία είναι, π.χ. υπότιτλοι;
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Μετατροπή σε utf8

Δημοσίευσηαπό simosx » 20 Μάιος 2011, 18:42

mariag έγραψε:Σας ευχαριστώ πολύ και τους δυο σας, αλλά όπως σας είπα και πιο πριν, δυστυχώς -και δεν έχω ακόμα καταλάβει ακόμα το λόγο- σε ό,τι φορμάτ κι αν είναι το κάθε αρχείο που έχω κατεβάσει, το αναγνωρίζει ως utf-8... Οπότε λογικά αυτά που μου λέτε δεν μπορώ να τα εφαρμόσω, εφόσον κατά το πισι όλα είναι στο επιθυμητό φορμάτ...


Είναι το αρχείο ελεύθερα διαθέσιμο; Αν ναι, απλά δώσε το σύνδεσμο.

Αναφέρεις ότι «σε ό,τι φορμάτ κι αν είναι το κάθε αρχείο που έχω κατεβάσει, το αναγνωρίζει ως utf-8». Δεν καταλαβαίνω τι εννοείς.
Αν ένα αρχείο είναι σε μια από τις παλιές κωδικοποιήσεις των 8-bit, τότε κάθε εφαρμογή του Ubuntu που προσπαθεί να το ανοίξει το καταλαβαίνει, ωστόσο κάνει αυτόματη μετατροπή από Λατινικά 8-bit προς UTF-8 (οπότε αν το κείμενο ήταν στα ελληνικά βλέπεις παράξενους λατινικούς εκτεταμένους χαρακτήρες).
προσωπικό ιστολόγιο ϗ πλανήτης Ubuntu-gr
Συμβάλετε και εσείς στο ελληνικό βιβλίο Ubuntu!
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 13.10 saucy 3.11.0-031100rc1-generic 64bit (el_GR.UTF-8, Unity ubuntu)
3 AMD E-450 APU with Radeon HD Graphics ‖ RAM 3555 MiB ‖ Sony Corporation VAIO
4 AMD nee ATI Wrestler [Radeon HD 6320] [1002:9806] {fglrx_pci}
5 eth0: Atheros Inc. AR8151 v2.0 Gigabit Ethernet [1969:1083] (rev c0) ⋮ wlan0: Atheros Inc. AR9285 [168c:002b] (rev 01)
Φτιάξτε και εσείς τη δική σας υπογραφή (παραπάνω κείμενο) αυτόματα με κλικ εδώ!
simosx
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 10334
Εγγραφή: 11 Μάιος 2008, 18:52
Launchpad: simosx
IRC: simosx
Εκτύπωση

Re: Μετατροπή σε utf8

Δημοσίευσηαπό mariag » 20 Μάιος 2011, 20:50

Να σας εξηγήσω γιατί μάλλον σας μπέρδεψα. Καταρχήν τα αρχεία αυτά είναι ένα corpus από documents τα οποία έχω κατεβασει απ το web, είναι δλδ σελίδες (στα ελληνικά, να συμπληρώσω, αν ακαι θα το έχετε ήδη καταλάβει). Για να κατεβάσω όλον αυτόν τον όγκο κειμένων (190.000*3) χρησιμοποίησα ένα πρόγραμμα γραμμένο σε java, το οποίο και μου δόθηκε έτοιμο. Το επόμενο βήμα είναι να "καθαρίσω" όλα αυτά τα αρχεία μετατρέποντάς τα όλα σε utf-8 και πετώντας ό,τι δεν έχει πληροφορία μέσα (κάποια urls δεν είναι πια διαθέσιμα). Όταν λοιπόν κοίταξα με το μάτι κάποια ενδεικτικά κείμενα που δεν είναι utf και δεν διαβάζονται, ανακάλυψα ότι παρόλα αυτά αναγνωρίζονται ως utf-8 ακόμα και κείμενα με φορμάτ iso... ή windows... Για να σας το δείξω μάλλον λίγο δύσκολο γιατί θα σας παρέθετα το url από το οποίο κατέβασα το κείμενο, το οποίο εσείς θα δείτε ότι δεν είναι στο format που θέλω, το utf-8. Επειδή λοιπόν κάτι έγινε και αφού τα κατέβασα όλα αυτά και τα έσωσα σε αρχεία, όταν πάω να τα διαβάσω, παρόλο που δεν είναι σε utf format, ο υπολογιστής θεωρεί ότι είναι μην μπορώντας να παρέμβω...
Μήπως καταλάβατε λίγο καλύτερα;
Γνώσεις ⇛ Linux: Λίγες ┃ Προγραμματισμός: Λίγα πράματα ┃ Αγγλικά: Καλά
Λειτουργικό σε Η/Υ ϰ μοντέλο:Ubuntu 9.10 σε DELL STUDIO HYBRID
Προδιαγραφές ⇛ T8100 │ 4GB │GM965│ HD AUDIO 7.1 │1920x1080
Άβαταρ μέλους
mariag
babeTUX
babeTUX
 
Δημοσιεύσεις: 18
Εγγραφή: 18 Μαρ 2010, 10:23
Εκτύπωση

Re: Μετατροπή σε utf8

Δημοσίευσηαπό simosx » 20 Μάιος 2011, 21:03

mariag έγραψε:Όταν λοιπόν κοίταξα με το μάτι κάποια ενδεικτικά κείμενα που δεν είναι utf και δεν διαβάζονται, ανακάλυψα ότι παρόλα αυτά αναγνωρίζονται ως utf-8 ακόμα και κείμενα με φορμάτ iso... ή windows... Για να σας το δείξω μάλλον λίγο δύσκολο γιατί θα σας παρέθετα το url από το οποίο κατέβασα το κείμενο, το οποίο εσείς θα δείτε ότι δεν είναι στο format που θέλω, το utf-8.


Δηλαδή, βλέπεις εκείνο το παράξενο κείμενο αυτό στα ελληνικά ή το βλέπεις να φαίνεται σαν π.χ. «ÁõôÞ åßíáé ìéá äïêéìÞ».
Αν το βλέπεις με παράξενους χαρακτήρες όπως παραπάνω, δώσε μικρό παράδειγμα.
προσωπικό ιστολόγιο ϗ πλανήτης Ubuntu-gr
Συμβάλετε και εσείς στο ελληνικό βιβλίο Ubuntu!
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 13.10 saucy 3.11.0-031100rc1-generic 64bit (el_GR.UTF-8, Unity ubuntu)
3 AMD E-450 APU with Radeon HD Graphics ‖ RAM 3555 MiB ‖ Sony Corporation VAIO
4 AMD nee ATI Wrestler [Radeon HD 6320] [1002:9806] {fglrx_pci}
5 eth0: Atheros Inc. AR8151 v2.0 Gigabit Ethernet [1969:1083] (rev c0) ⋮ wlan0: Atheros Inc. AR9285 [168c:002b] (rev 01)
Φτιάξτε και εσείς τη δική σας υπογραφή (παραπάνω κείμενο) αυτόματα με κλικ εδώ!
simosx
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 10334
Εγγραφή: 11 Μάιος 2008, 18:52
Launchpad: simosx
IRC: simosx
Εκτύπωση

Επόμενο

  • ΣΧΕΤΙΚΑ ΘΕΜΑΤΑ
    ΑΠΑΝΤΗΣΕΙΣ
    ΠΡΟΒΟΛΕΣ
    ΣΥΓΓΡΑΦΕΑΣ

Επιστροφή στο Εφαρμογές για Γραφείο / Γραφιστική / Επιστήμες