Όταν παίρνετε backup να χρησιμοποιείτε την εντολή:
mysqldump –default-character-set=utf8 –databases databasename > “dumpfile.sql”
Για να μην έχετε ποτέ πρόβλημα πρέπει να δουλεύετε πάντα με κωδικοποίηση utf8 παντού.
Οι βάσεις που δημιουργείτε πρέπει να έχουν collation utf8.
Όταν συνδέεστε στη βάση πάντα:
mysql –character-sets-dir=/usr/share/mysql/charsets –default-character-set=utf8 databasename
Ένας τρόπος να δείτε την κατάσταση της σύνδεσης σας με τη βάση είναι στην κονσόλα αφού έχετε συνδεθεί να πληκτρολογήσετε:
\s
Για να είστε σίγουροι ότι όλα θα δουλέψουν σωστά θα πρέπει να είναι παντού utf-8 . Στην πιο πάνω εικόνα βλέπουμε ότι δεν είναι όλα utf8.
Πολλές φορές πρέπει να βεβαιωθείτε ότι και o ssh clienτ(π.χ putty) που χρησιμοποιείτε συνδέεται με utf8 κωδικοποίηση.
Στον PuTTY το βλέπετε και το αλλάζετε στο window->translation και βάλτε utf8.
Αν χρησιμοποιείτε php μετά την σύνδεση με τη βάση εκτελέστε το:
mysql_query(“set names utf8”);
Κι όμως, 3 χρόνια μετά, ψάχνοντας από δω και από κει για κάποια λύση με τα ελληνικά στη βάση μου …..η λύση βρέθηκε στη γραμμούλα –> mysql_query(“set names utf8″); <– μετά τη σύνδεση με τη βάση!
Εύγε, γιατί πολύς κώδικας για το τίποτα σε όσα sites προσπάθησα να βρω μία “λογική” άκρη.
Ευχαριστώ!
Σας παρακαλώ πολύ έχω φάει όλα τα forums και όλα λένε να βάλουμε την εντολή
mysql_query(“set names utf8″);
μετά το connection στην d.base αλλά πουθενά δεν έχω βρεί να λένε σε ποιό αρχείο php θα πρέπει να βάλουμε την εντολή αυτή. Σε ποιό ακριβώς αρχείο θα την προσθέσουμε ?
Σας ευχαριστώ εκ των προτέρων για την βοήθεια σας.
Μανώλης
Καλησπέρα ,
Αντιμετώπιζα το ίδιο πρόβλημα με μία web εφαρμογή που φτιάχνω.
Ψάχνοντας βρήκα στο stackoverflow το εξής:
Στο αρχείο my.cnf η my.ini σε Windows..
[mysqld]
collation-server = utf8_unicode_ci
init-connect=’SET NAMES utf8′
character-set-server = utf8
skip-character-set-client-handshake
[client]
default-character-set = utf8
[mysql]
default-character-set = utf8
Δούλεψε τέλεια!
Η λύση στο πρόβλημα Ελληνικών χαρακτήρων.
https://www.php.net/manual/en/mysqli.set-charset.php