Αλλαγή Collation μετατροπή σε ιερογλυφικά. Υπάρχει γυρισμός;

Συζητήσεις για την βάση δεδομένων MySQL και το phpMyAdmin

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
deninho
Super Moderator
Δημοσιεύσεις: 7066
Εγγραφή: 17 Ιαν 2004 16:01
Τοποθεσία: σ'άλλη διάσταση
Επικοινωνία:

Αλλαγή Collation μετατροπή σε ιερογλυφικά. Υπάρχει γυρισμός;

Δημοσίευση από deninho » 21 Ιουν 2008 18:30

Καθ'ότι άνθρωπος που υποστηρίζει το δόγμα "αν δε χαλάσεις, δε μαθαίνεις", χάζευα στο phpmyadmin τη βάση δεδομένων για το blog μου.

Συγκεκριμένα, έψαχνα πως θα κάνω export τον Πίνακα (οι βάσεις από πίνακες δεν αποτελούνται? :roll: ) wp_quotes όπου έχει δημιουργήσει ένα plugin σε xls ή word. Στην πρώτη απόπειρα, βλέπω ιερογλυφικά στο .xls μου, και ταυτόχρονα, παρατηρώ ότι το Collation έλεγε latin1_swedish_ci, οπότε υπέθεσα ότι εκεί είναι το πρόβλημα, έκανα edit σε utf_general_ci, και ξανάμανα εξπορτ σε xls. Τα ίδια ιερογυφικά κι εκεί :-? Ξανά αλλαγή του Collation σε greek κάτι, τα ίδια... Refresh το site, και τα δεδομένα που έρχονταν από τον πίνακα που πείραξα φαίνονται κι εκεί ιερογλυφικά.
Επαναφορά του Collation σε latin1_swedish_ci, αλλά τπτ :(

Λογικά-Ελπίζω, υπάρχει τρόπος να μην χρειαστεί να ξανακάνω τις 100+ εγγραφές, ε; ε; ε; :roll:

ΥΓ1 Έχω κρατήσει το αρχικό xls (πριν να κάνω τον μαστροχαλαστή)
ΥΓ2 Αν δεν κάνει, έχω ένα backup ολόκληρης της βάσης. (κι εκεί είναι κινέζικα πάντως) Μπορώ να πάρω από εκεί το τμήμα που χάλασα, και να το επαναφέρω;

Προσμένω σε βοήθεια, καθότι δεν ξέρω τι μου γίνεται από βάσεις δεδομένων :)

Άβαταρ μέλους
MaZz
Script Master
Δημοσιεύσεις: 345
Εγγραφή: 20 Ιούλ 2005 19:41
Τοποθεσία: Beyond the dark sun
Επικοινωνία:

Αλλαγή Collation μετατροπή σε ιερογλυφικά. Υπάρχει γυρισμός;

Δημοσίευση από MaZz » 21 Ιουν 2008 19:08

Το ότι η βάση δεδομένων έχει default charset latin_1 δε σημαίνει ότι και όλοι οι πίνακες μέσα στη βάση αυτή θα έχουν το ίδιο charset. Το αρχείο xls που έκανες export τι charset έχει?
If nothing in the world can change our children will inherit nothing.

Άβαταρ μέλους
deninho
Super Moderator
Δημοσιεύσεις: 7066
Εγγραφή: 17 Ιαν 2004 16:01
Τοποθεσία: σ'άλλη διάσταση
Επικοινωνία:

Αλλαγή Collation μετατροπή σε ιερογλυφικά. Υπάρχει γυρισμός;

Δημοσίευση από deninho » 21 Ιουν 2008 19:12

όλοι οι πίνακες φαίνονται να έχουν latin1. To xls, δεν ξέρω από που μπορώ να δω τι charset έχει :oops: Πάντως στο backup της βάσης που είχα κάνει παλιότερα, ως default charset για τον πίνακα wp_quote αναφέρει latin1

Άβαταρ μέλους
MaZz
Script Master
Δημοσιεύσεις: 345
Εγγραφή: 20 Ιούλ 2005 19:41
Τοποθεσία: Beyond the dark sun
Επικοινωνία:

Αλλαγή Collation μετατροπή σε ιερογλυφικά. Υπάρχει γυρισμός;

Δημοσίευση από MaZz » 21 Ιουν 2008 19:15

Έπρεπε να κάνεις export σε .sql εκεί θα φαινόταν τι charset έχει.
If nothing in the world can change our children will inherit nothing.

Άβαταρ μέλους
deninho
Super Moderator
Δημοσιεύσεις: 7066
Εγγραφή: 17 Ιαν 2004 16:01
Τοποθεσία: σ'άλλη διάσταση
Επικοινωνία:

Αλλαγή Collation μετατροπή σε ιερογλυφικά. Υπάρχει γυρισμός;

Δημοσίευση από deninho » 21 Ιουν 2008 21:50

Τελικά το πρόβλημα λύθηκε, χάνοντας ορισμένες από τις εγγραφές μου, και δημιουργόντας ένα καινούριο sql file, από ένα παλιότερο καθολικό Backup, για το συγκεκριμένο πίνακα.

Το πρόβλημα, όμως, είναι ότι όλες οι εγγραφές στη βάση δεδομένων είναι με collation latin1. Υπάρχει περίπτωση να τις μετατρέψω σε utf?


Άβαταρ μέλους
Banavas
Script Master
Δημοσιεύσεις: 1367
Εγγραφή: 21 Νοέμ 2004 20:25
Επικοινωνία:

Αλλαγή Collation μετατροπή σε ιερογλυφικά. Υπάρχει γυρισμός;

Δημοσίευση από Banavas » 22 Ιουν 2008 09:27

Έχε υπ όψιν οτι αλλάζοντας τη βάση σε UTF θα πρέπει να αλλάξεις το charset και σε όλα τα script που εμφανίζουν ή καταχωρούν στοιχεία στη βάση.
Happy coding....
Μάρκος
http://lasernet.gr

Άβαταρ μέλους
deninho
Super Moderator
Δημοσιεύσεις: 7066
Εγγραφή: 17 Ιαν 2004 16:01
Τοποθεσία: σ'άλλη διάσταση
Επικοινωνία:

Αλλαγή Collation μετατροπή σε ιερογλυφικά. Υπάρχει γυρισμός;

Δημοσίευση από deninho » 22 Ιουν 2008 12:23

@Marinos Stergiou: Ευχαριστώ πολύ για τις απαντήσεις :) Η ερώτηση του n00b: Αυτές οι εντολές πως εκτελούνται; :P

@Banavas: Ένα από τα πολλά περίεργα της υπόθεσης είναι ότι τα αρχεία του wordpress είναι ρυθμισμένα για utf8, αλλά, παρ'όλα αυτά, γράφει σε πίνακες latin1 και εμφανίζει σωστά ελληνικά :-?

Άβαταρ μέλους
Marinos Stergiou
Δημοσιεύσεις: 741
Εγγραφή: 12 Νοέμ 2006 14:49
Τοποθεσία: Τριτοκοσμική

Αλλαγή Collation μετατροπή σε ιερογλυφικά. Υπάρχει γυρισμός;

Δημοσίευση από Marinos Stergiou » 22 Ιουν 2008 13:08

Λοιπόν τώρα που αναφέρεις wordpress,

Πρίν κάνεις κάτι από τα παρακάτω πρώτα : http://g30rg3x.com/utf8-database-converter/

Αν δεν... τότε και μόνο τότε

1. Backup της βάσης
2. Export τα περιεχόμενα και όλη την δομή της βάσης (με phpmyadmin)
3. Μετατροπή όλου του περιεχομένου από τα "κινέζικα" σε ελληνικά UTF8
4. Find and Replace το DEFAULT CHARSET=latin1 σε DEFAULT CHARSET=utf8 COLLATION=utf8_general_ci
5. Εισαγωγή της βάσης
6. Αλλαγή του αρχείου wp-config.php στη γραμμή define('DB_NAME', 'newname'); ώστε να οριστεί η νέα βάση

Αν δεν... τότε και το πιο δύσκολο

Κάνε Backup την βάση
Μετέτρεψε όλα τα πεδία texts σε blob (πχ ALTER TABLE users MODIFY Last_Name BLOB;)
Μετέτρεψε το global charset της database σε UTF-8 (πχ alter database superdatabase charset=utf8;)
Μετέτρεψε το charset σε όλα τα tables σε UTF-8 (πχ alter table users charset=utf8;)
Επανέφερε όλα τα BLOB πεδία σε TEXT και μετέτρεψε το charset ανά πεδίο σε UTF-8 (πχ ALTER TABLE users MODIFY Last_Name TEXT CHARACTER SET utf8;)

Ο λόγος που πρώτα μετατρέψαμε τα text σε blob ήταν για να μην χάσουμε κάποιους χαρακτήρες

*** Ανοιξε το wordpress και τρέξε δύο SQL queries:
SET NAMES utf8; SET COLLATION_CONNECTION=utf8_general_ci;
mysql -u user -p --default-character-set=utf8
Η βάση δεδομένων μπορεί να τρέχει σε UTF8, αλλά ο o server σε LATIN!
Οπότε γι αυτό και το ***
Ρίξε μια ματιά κι εδώ : http://www.oreillynet.com/onlamp/blog/2 ... in1_t.html

spolati
Δημοσιεύσεις: 1
Εγγραφή: 11 Ιούλ 2013 11:59

Αλλαγή Collation μετατροπή σε ιερογλυφικά. Υπάρχει γυρισμός;

Δημοσίευση από spolati » 11 Ιούλ 2013 12:12

Είναι το πρώτο μου μήνυμα στο freestuff, απλά ένοιωθα ότι το χρωστούσα. Ευχαριστώ λοιπόν πολύ για τη βοήθεια που μου έδωσε αυτό το thread και ειδικά το χρήστη Marinos Stergiou, για την αλλαγή του collation σε μια βάση του σχολικού δικτύου για ένα site με Joomla 1.0.13 -- αρχαιολογία δηλαδή -- πριν 4 περίπου χρόνια. Το site είναι ακόμα όρθιο, οι χρήστες ανεβάζουν υλικό, η βάση είναι πια πλήρως UTF-8. (Το γιατί δεν αναβαθμίζεται σε άλλη έκδοση του Joomla είναι μια πολύπλοκη ιστορία, που δεν θέλω να σας κουράσω με αυτήν).
Πάντως και πάλι πολλά ευχαριστώ freestuff, πολλά ευχαριστώ Marinos Stergiou.

Απάντηση

Επιστροφή στο “MySQL”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες