MySQL kai character set
Thomas Venieris
mot at freemail.gr
Tue May 22 22:46:09 EEST 2007
On Tuesday 22 May 2007 01:01, Thomas Venieris wrote:
> Το κόλπο είναι το εξής:
>
> Πρέπει να κάνεις dump την βάση, ορίζοντας το encoding που χρησιμοποιεί
> (latin1) και ταυτόχρονα να εμποδίσεις το mysqldump να ορίσει encoding με
> την SET NAMES. Πιο συγκεκριμένα, πρέπει να κάνεις το εξής:
>
> mysqldump --skip-opt --add-drop-table --add-locks --quick --extended-insert
> --lock-tables --disable-keys --default-character-set=latin1
> --skip-set-charset -u<username> -p<password> <databasename> > <filename>
Διορθώνω τον εαυτό μου λέγοντας πως αν παραλλείψεις την
παράμετρο --create-options, μπορεί μεν να μην ορίσει το dump encoding στα
tables, αλλά θα παραλλείψει και άλλες μικρές (...) λεπτομέρειες όπως την
παράμετρο AUTO_INCREMENT στα πεδία σου. Αυτό όπως καταλαβαίνεις είναι πολύ
κακό (tm) πράγμα, και ελπίζω να άκουσες την συμβουλή μου περι αντιγράφων
ασφαλείας.
Μόνη λύση είναι να πάρεις το dump με --create-options ως εξής:
mysqldump --skip-opt --add-drop-table --add-locks --quick --extended-insert
--lock-tables --disable-keys --default-character-set=latin1 --create-options
--skip-set-charset -u<username> -p<password> <databasename> > <filename>
μετά να κάνεις edit to dump, και να σβήσεις οποιαδήποτε παράμετρο έχει να
κάνει με charset, ή να τα αλλάξεις στο σωστό, δηλαδή greek ή utf8.
Τέλος να κάνεις το σταυρό σου (αν είσαι θρήσκος) και να βάλεις το dump πίσω
στην βάση.
Ελπίζω να βοήθησα.
--
moT
"There's the television. It's all right there. It's all
right there. Look. Listen. Kneel. Pray. Commercials."
(12 Monkeys)
More information about the Linux-greek-users
mailing list