Είπα χτες να κάνω αναβάθμιση σε WordPress 2.2. Όσοι δεν το έχετε κάνει ακόμα: Πάρτε backup της MySQL και βεβαιωθείτε ότι είναι εντάξει κοιτάζοντας το text file! Γιατί; Γιατί πέρασα από χίλια κύματα χτες το βράδυ… μην τα περάσετε κι εσείς.
Όλα ξεκίνησαν από το γεγονός ότι παρατήρησα πως το sync.gr για κάποιο λόγο δεν αναγνώριζε τις ενημερώσεις που έκανα. Κατά τα φαινόμενα υπάρχει κάποιο πρόβλημα με το feed μου το οποίο ακόμα το παιδεύω. Πως μου ήρθε εκείνη την ώρα, λέω δεν πάω να δω μπας και υπάρχει και καμιά καινούργια έκδοση του WordPress; Και όντως υπήρχε! Και μια και δυο που λένε και στα παραμύθια κάνω να το εγκαταστήσω…. Τελειώνει η εγκατάσταση και μου βγαίνουν όλα αλαμπουρνέζικα! ΩΧΧΧΧΧ!!!!
Αντε λέω να επαναφέρω το backup της MySQL που πήρα πριν την εγκατάσταση. Ούτε για μια στιγμή δεν πήγε ο νους μου ότι μπορεί να φταίει το WordPress. Επαναφορά και πάλι τα ίδια χάλια… ω ρε τι πάθαμε βραδιάτικα… και η σύνδεση στο σπίτι είναι χάλια, μου σπάει ακόμα παραπάνω τα νεύρα. Κοιτάω μέσα στο backup, το αρχείο ήταν σε ένα codepage άγνωστο στους πάντες! Πανικοβλημένος κοιτάω το προηγούμενο και το προπροηγούμενο backup… όλα το ίδιο! Νόημα μηδέν! Κοιτάω στο google cache να δω τι μπορώ να σωσω και να τα ξαναβάλω επάνω τουλάχιστον με το χέρι. Ελάχιστα. Μέσα στην απελπισία μου, μου έρχεται μια (φαεινή όπως εξελίχθηκε) ιδέα… το UTF χρησιμοποιεί διπλάσιο αριθμό bits για την κωδικοποίηση… και από ότι παρατήρησα κάθε ακαταλαβίστικη λέξη είχε ακριβώς τον διπλάσιο αριθμό χαρακτήρων. Οπότε μετά από μισή ώρα search&replace των ακαμπουρνέζικων με τους αντίστοιχους Ελληνικούς χαρακτήρες είχα επιτέλους πίσω το αρχείο μου!
Πάω να κάνω restore νομίζοντας ότι τα βάσανά μου έχουν τελειώσει… Και πάλι τζίφος! Το μπλογκ μου πάλι σε μια ακατάληπτη γλώσσα (διαφορετική αυτή το φορά!). Μετά από λίγη αναζήτηση, έμαθα ότι στο WP2.2 είχαν βάλει επιλογή για το collation με τη MySLQ (το codepage που επικοινωνεί το WP με την MySLQ είναι αυτό από ότι κατάλαβα;) και σύμφωνα με ένα support topic που βρήκα στο WordPress, έπρεπε να γίνει η εξής αλλαγή/προσθήκη στο “wp-config.php”:
define(‘DB_CHARSET’, ‘utf8’);
define(‘DB_COLLATE’, ‘utf8_unicode_ci’);
Δοκιμή. Πάλι τίποτα. Κοιτάω στην MySQL και βλέπω ότι όλες μου οι καταχωρίσεις είναι σε ένα codepage latin1-swedish… Δεν μου ακούγεται και πολύ σωστό! Με ένα (τελευταίο!) search&replace στο backup μου, αλλάζω όλα τα
DEFAULT CHARSET=latin1
σε
DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
Restore. Και πάλι ζωντανοί!
ΟΥΦΦΦ!!! Ελπίζω να μη σας τύχει..
(btw, το πρόβλημα με το feed συνεχίζει να υπάρχει… και το ψάχνω)