Μετατροπή βάσης απο 8859-7 -> utf8;

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

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

Απάντηση
Άβαταρ μέλους
Mandingueiro
Δημοσιεύσεις: 270
Εγγραφή: 07 Φεβ 2006 19:26

Μετατροπή βάσης απο 8859-7 -> utf8;

Δημοσίευση από Mandingueiro » 19 Οκτ 2008 20:11

Καλημέρα σε όλους, :)

Έχω ένα πρόβλημα εδώ και καιρό και όσο αν προσπαθώ δεν μπορώ να βρω άκρη. Έχω μια βάση (Invision Power Board) που το collation της ήταν latin_swedish_ci και όλα έμπαιναν σε iso-8859-7 (αυτό ήταν το charset του site γενικώς). Τα ελληνικά εμφανίζονταν σωστά στο site αλλά όχι στη βάση, όπως φαίνεται και στην εικόνα: Εικόνα

Μετά ήθελα να μετατρέψω τη βάση στ UTF-8 ώστε και να φαίνονται σωστά τα ελληνικά στη βάση αλλά και να λειτουργεί σωστά ένα commercial bridge που πήρα για Joomla<->IP.Board. Άλλαξα λοιπόν το collation της βάσης και των tables σε utf-8 και μετά έκανα ένα export για να δω τι θα πάρω.

Αυτό που έβλεπα όταν το άνοιγα με UniRed ή Notepad++ και έβαζα για χαρακτήρες UTF-8, ήταν αυτό Εικόνα.

Δοκίμασα να κάνω μετατροπές που βρήκα στο tutorial ενός άλλου φόρουμ ελληνικού (δεν ξέρω αν επιτρέπεται να αναφέρω το url). Χρησιμοποίησα τα UniRed και Recode για μετατροπές μεταξύ iso-8859-7, UTF-8 και ISO-8859-1 και σχεδόν όλους τους συνδυασμούς και το μόνο που κατάφερα ήταν να βλέπω κάτι τέτοια
Εικόνα
Ξ"?Ξ"Β±Ξ"β€&#8226;Ξ"Β«Ξ"?Ξ"ΚΌΞ"Κ½Ξ"Ξ&#8222;Ξ


Καμιά ιδέα;
Ευχαριστώ προκαταβολικά :wink:

Άβαταρ μέλους
Hermeia
Honorary Member
Δημοσιεύσεις: 987
Εγγραφή: 02 Αύγ 2004 00:14
Τοποθεσία: Αθήνα
Επικοινωνία:

Μετατροπή βάσης απο 8859-7 -> utf8;

Δημοσίευση από Hermeia » 22 Οκτ 2008 15:05

λες
"Τα ελληνικά εμφανίζονταν σωστά στο site αλλά όχι στη βάση, "

Εαν η ιστοσελίδα (site) διαβάζει απο τη "βάση" και στα εμφανίζει σωστά,
τότε υπάρχουν σωστά μέσα στη βάση.

Εσυ με ποια κωδικοσελίδα εμφάνισης προσπαθείς να δεις μέσα στη βάση και θεωρείς ότι δεν τα εμφανιζει σωστά ?

Κονονικά, αν δεις μέσα στη βάση με τις ίδιες ρυθμίσεις κωδικοσελίδας που τα εμφανίζει κι η ιστοσελίδα.


Για τη μετατροπή. χρειάζεσαι ένα φίλτρο απο 8859-7 σε utf-8
(αν ισχύει ότι το αρχικό είναι 8859-7 κι εμφανίζεται σωστά με αυτή τη ρυθμιση)
Το αποτέλεσμα φυσικα 8α φανει σωστό με κωδικοσελίδα εμφάνισης "UTF-8" και μόνο σε υπολογιστή που "ξέρει" τα ευρωπαϊκά utf-8.

στις εικόνες που έβαλες τώρα, η πρώτη δείχνει το πώς φαίνονται (γενικά) τα ελληνικά όταν τα εμφανίζουμε σε λάθος κωδικοσελίδα (πχ. κάτι-Latin), ή με κάποια Latin γραμματοσειρά (που δεν εχει ελληνικούς χαρακτήρες, αλλα έχει τις ευρωπαϊκές γλώσσες εκτός αγγλικής στη θέση τους),
ενώ η δεύτερη δείχνει μια μετατροπή τύπου "ελληνικά-Προσ-Greeklish" ή μετατροπή ελληνικών σε ASCII (7μπιτο, μονο 128 χαρακτηρες και μόνο αγγλικά)

Πιστευω ότι πρέπει 1α να βεβαιωθείς ότι προσπαθεις να δεις τα περιεχόμενα με τη σωστή κάθε φορά κωδικοσελίδα εμφάνισης.

Για τη μετατροπή πρέπει να διαβάσεις λιγάκι προσεκτικά τις σχετικές οδηγίες του εργαλείου που χρησιμοποιείς, και πάλι να δεις το αποτέλεσμα με τη σωστά ορισμένη κωδικοσελίδα (του αποτελέσματος της μετατροπης σου.. αυτό που λέει ότι κάνε.. εφόσον έχεις θέσει σωστα την κωδικοσελίδα προέλευσης).

καλη τυχη
Hermeia the InfoSharer
Η Γνώση είναι Δύναμη
Εικόνα

Απάντηση

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

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

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