Πώς μοιάζει το διπλά κωδικοποιημένο κείμενο
Πριν
Ç ÁèÞíá áíïßãåé ôï ðñùß – êáëçìÝñá áðü ôç Èåóóáëïíßêç
Μετά
Η Αθήνα ανοίγει το πρωί – καλημέρα από τη Θεσσαλονίκη
Πώς συμβαίνει
Στο UTF-8 κάθε ελληνικό γράμμα αποτελείται από δύο byte. Όταν ένα πρόγραμμα διαβάζει αυτά τα byte ως Windows-1253, παίρνετε δύο χαρακτήρες: το α γίνεται Ξ±. Αν το αποτέλεσμα αποθηκευτεί ξανά ως UTF-8, ο κάθε χαρακτήρας γίνεται πάλι δύο byte και το κείμενο μεγαλώνει. Όταν το ίδιο συμβεί και δεύτερη φορά, κάθε χαρακτήρας σπάει ξανά – και βγαίνουν τα μακριά ΞΒ-μοτίβα.
Τυπικές αιτίες για τον δεύτερο γύρο:
- Μεταφέρεται μια βάση δεδομένων και η εξαγωγή WordPress ή SQL ήταν ήδη χαλασμένη από πριν.
- Ένα CSV ανοίγει στο Excel, αποθηκεύεται και αργότερα εισάγεται ξανά με λάθος κωδικοποίηση.
- Ένα script ή ένα API μετατρέπει κείμενο που είναι ήδη UTF-8.
Τα πιο συνηθισμένα μοτίβα με μια ματιά
Διπλά κωδικοποιημένο
ÁèÞíá ÊáëÜ ÅëëÜäá ÔéìÞ 25 € ôïõ ÃéÜííç
Σωστό
Αθήνα Καλά Ελλάδα Τιμή 25 € του Γιάννη
Με τριπλή κωδικοποίηση η σειρά γίνεται ακόμη μακρύτερη. Το Mojibuster διορθώνει αυτόματα και αυτό το επίπεδο.
Γιατί δεν αρκεί η αναζήτηση και αντικατάσταση
Με αναζήτηση και αντικατάσταση θα έπρεπε να ξέρετε κάθε μοτίβο – ένα για κάθε επίπεδο και κάθε γράμμα. Εύκολα ξεχνάτε κάποιο ή αντικαθιστάτε κατά λάθος σωστό κείμενο. Το Mojibuster, αντίθετα, υπολογίζει τα αρχικά byte και ελέγχει αν το αποτέλεσμα είναι έγκυρο UTF-8. Μόνο τότε αντικαθίσταται το σημείο.
- Επικολλήστε το κείμενο στο πεδίο παραπάνω ή αφήστε εκεί το αρχείο.
- Το Mojibuster εντοπίζει πόσες φορές μετατράπηκε το κείμενο και διορθώνει έως τρία επίπεδα.
- Στο Τι άλλαξε; βλέπετε κάθε σημείο. Μετά αντιγράφετε το αποτέλεσμα ή κατεβάζετε το αρχείο.
Κείμενο που είναι ήδη σωστό μένει αμετάβλητο – ακόμη και όταν χαλασμένες και σωστές γραμμές είναι ανάμεικτες στο ίδιο αρχείο. Τα σφάλματα ενός επιπέδου, όπως Ξ±, καλύπτονται στη σελίδα τι είναι το mojibake και στη μετατροπή Windows-1253 σε UTF-8.
Συχνές ερωτήσεις
Πώς αναγνωρίζω τη διπλή κωδικοποίηση;
Από πιο μακριές σειρές με Ξ και Β. Τα σφάλματα ενός επιπέδου είναι πιο κοντά, όπως Ξ± (τι είναι το mojibake).
Πόσα επίπεδα μπορεί να διορθώσει το Mojibuster;
Έως τρία. Περισσότερα σχεδόν δεν συμβαίνουν στην πράξη.
Τι γίνεται αν μόνο ένα μέρος του κειμένου είναι διπλά κωδικοποιημένο;
Κανένα πρόβλημα. Το Mojibuster διορθώνει κάθε σημείο ξεχωριστά και αφήνει τα σωστά μέρη ως έχουν.
Μπορώ να ελέγξω πρώτα το αποτέλεσμα;
Ναι. Στο Τι άλλαξε; το Mojibuster απαριθμεί κάθε διορθωμένο σημείο με τον αριθμό γραμμής πριν αντιγράψετε ή κατεβάσετε.