phpBB & MySQL - Θέλω τη βοήθεια σας

Περιοχή προσφοράς εθελοντικών εργασιών
Απάντηση
Άβαταρ μέλους
Anzac
Administrator
Administrator
Δημοσιεύσεις: 36874
Εγγραφή: 27 Μαρ 2004, 15:38
Τοποθεσία: Αθήνα
Επικοινωνία:

phpBB & MySQL - Θέλω τη βοήθεια σας

Δημοσίευση από Anzac »

Θα ήθελα την βοήθεια σας σε όσους γνωρίζουν απο phpBB, MySQL, και phpMyAdmin.

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

Όλες μου οι βάσεις δείχνουν πως είναι σεταρισμένες με Collation :arrow: latin1_swedish_ci

Έχω ενεργοποιημένο κάποιο cron job, απο το οποίο λαμβάνω καθημερινά backup απο όλες τις βάσεις. ΔΕΝ υπάρχει ιδιαίτερη ρύθμιση που να λέει σε τι encoding να τις παίρνει.

Τα Βήματα
Δημιουργώ μια Test βάση και της δίνω τα κατάλληλα δικαιώματα.

Κάνω import το τεράστιο .sql αρχείο μέσω του Bigdump. Αν δεν το κάνω έτσι, δεν υπάρχει καμία πιθανότητα να κάνω import το αρχείο χωρίς να πάρω timeout error, ακόμα και αν το αρχείο είναι gzipped με μέγεθος ~13ΜΒ.

Το Πρόβλημα
Μετά την επιτυχές bigdump, όλα τα Ελληνικά στην test σελίδα με την test βάση, είναι κατεστραμένα και ακαταλαβίστικα.

SO, I NEED A BIG TIME HELP
e-HAF Admin
Cipher
Δημοσιεύσεις: 1771
Εγγραφή: 29 Δεκ 2008, 16:01
Τοποθεσία: Αθήνα

Δημοσίευση από Cipher »

Καταρχάς θα σου έλεγα να αλλάξεις το colation σε utf-8 τρέχοντας το παρακάτω...

ALTER DATABASE db_name
CHARACTER SET utf8
COLLATE utf8_general_ci

και στις 2 dbs για να μην έχεις προβλήματα...
Άβαταρ μέλους
Anzac
Administrator
Administrator
Δημοσιεύσεις: 36874
Εγγραφή: 27 Μαρ 2004, 15:38
Τοποθεσία: Αθήνα
Επικοινωνία:

Δημοσίευση από Anzac »

Και μετά απο αυτό , το collation στις db θα είναι utf8_general_ci αντί για latin1_swedish_ci ;

Σε ρωτώ γιατί η τεχνικός που μου απάντησε απο το support , μου είπε πως μετά την δημιουργία της βάσης, το collation δεν αλλάζει.
e-HAF Admin
Cipher
Δημοσιεύσεις: 1771
Εγγραφή: 29 Δεκ 2008, 16:01
Τοποθεσία: Αθήνα

Δημοσίευση από Cipher »

ναι.. δεν γίνεται να μην αλλάζει.. αν κάνεις alter τις db... πάρε και ένα backup για καλό και για κακό... μπορώ να το δοκιμάσω και offline για σένα από το σπίτι γιατί στο γραφείο δεν έχω mysql
Orion
Δημοσιεύσεις: 520
Εγγραφή: 16 Μαρ 2005, 16:57
Τοποθεσία: Ηράκλειο - Κρήτη
Επικοινωνία:

Δημοσίευση από Orion »

Το collation μιάς βάσης δέν αλλάζει όπως πολύ σωστά σου είπε.

Αυτό που αλλάζει είναι το collation της δική σου βάσης.

Το αρχείο mysql που έχεις απο latin θα πρέπει να την κάνεις UTF.

Απλά άνοιξε την με το WORD και το πρώτο που θα σου ζητήσει είναι να του ορίσεις encoding, δοκίμασε αρχικά με Greek Windows, ISO, UTF, μέχρι να διαβάσεις Ελληνικά.

Μετατρέποντας την σε UTF την ανεβάζεις κανονικά μετά σε database utf8_general_ci

Θα σου στείλω αναλυτικές οδηγίες με pm

To ίδιο πρόβλημα είχα πρίν μία εβδομάδα με έναν νέο πελάτη και λύθηκε μέσα σε 10 λεπτά.
Εικόνα
Cipher
Δημοσιεύσεις: 1771
Εγγραφή: 29 Δεκ 2008, 16:01
Τοποθεσία: Αθήνα

Δημοσίευση από Cipher »

Η άλλη λύση είναι να φτιάξουμε έναν parser που θα μετατρέψει όλα τα data τις παλιάς βάσης σε utf8 με ένα update για να μπορείς να κάνεις το insert σου μετά άνετα... θα το δω μόλις πάω σπίτι..
Άβαταρ μέλους
Anzac
Administrator
Administrator
Δημοσιεύσεις: 36874
Εγγραφή: 27 Μαρ 2004, 15:38
Τοποθεσία: Αθήνα
Επικοινωνία:

Δημοσίευση από Anzac »

Δεν καταλαβαίνω!

Οι βάσεις υπάχουν ήδη και χρησιμοποιούνται απο τα forum μας εδώ και χρόνια.

Μπορώ να κάνω την αλλαγή που λες σε αυτές ή εννοείς κάτι άλλο ;
e-HAF Admin
Cipher
Δημοσιεύσεις: 1771
Εγγραφή: 29 Δεκ 2008, 16:01
Τοποθεσία: Αθήνα

Δημοσίευση από Cipher »

:) :) ;) orion is the man...
Cipher
Δημοσιεύσεις: 1771
Εγγραφή: 29 Δεκ 2008, 16:01
Τοποθεσία: Αθήνα

Δημοσίευση από Cipher »

Για να ανακαιφαλαιωσουμε...

Ο Orion έχει δίκιο και εγώ άδικο :cry: .. δεν θα σε αφήσει να κάνεις την αλλαγή αν έχει data.. οπότε την κάνεις μόνο στην καινούργια βάση... για την μετατροπή των δεδομένων ακολούθεις την δοκιμασμένη λύση του Orion.

Σορρυ για το μπέρδεμα..
Άβαταρ μέλους
Anzac
Administrator
Administrator
Δημοσιεύσεις: 36874
Εγγραφή: 27 Μαρ 2004, 15:38
Τοποθεσία: Αθήνα
Επικοινωνία:

Δημοσίευση από Anzac »

Τελικά, παράλληλα με τις δικές σας λύσεις, βρήκα και εγώ μία για την ανάκτηση του backup.

Στο αρχείο bigdump.php, έχει καπου να βάλεις τι encoding έχει το αρχείο. Είχα δοκιμάσει utf-8, latin1 και διάφορους άλλους συνδιασμούς χωρίς όμως αποτέλεσμα.

Λέω τελικά να βάλω όλη τη γραμμή όπως είναι το collation. Είχα βέβαια αμφιβολία γιατί φαντάζομαι άλλο το collation και άλλο το encoding.

ΚΑΙ ΟΜΩΣ ΔΟΥΛΕΨΕ !!!
e-HAF Admin
Cipher
Δημοσιεύσεις: 1771
Εγγραφή: 29 Δεκ 2008, 16:01
Τοποθεσία: Αθήνα

Δημοσίευση από Cipher »

:beer: :salute:
Orion
Δημοσιεύσεις: 520
Εγγραφή: 16 Μαρ 2005, 16:57
Τοποθεσία: Ηράκλειο - Κρήτη
Επικοινωνία:

Δημοσίευση από Orion »

Αφού δούλεψε δέν το ψάχνουμε :D

Όταν μία βάση έχει δεδομένα δέν μπορούμε να τις αλλάξουμε το collation, στην περίπτωση αυτή πέρνουμε τα δεδομένα με το phpmyadmin κάνουμε την διαδικασία αλλαγής του encoding και τα φορτώνουμε σε άλλη φρέσκια βάση που έχουμε δώσει το σωστό collation (UTF-8 )

Σκοπός είναι να διαβάζουμε τα δεδομένα (Eλληνικά) στο phpmyadmin.

Πολλοί servers με παλιότερη MySql έχουν το latin1_swedish_ci που δέν είναι ότι καλύτερο όταν χρησιμοποιείς UTF-8

Στο Forum χρησιμοποιείς ISO κωδικοποίηση που ούτε και αυτό είναι ότι καλύτερο αλλα μήν μπείς σε διαδικασίες κάποια στιγμή θα περάσεις σε UTF, τότε θα χρειαστείς αυτά που λέμε πιό πάνω.

Μπορεί να το κάνουν αυτοί που έχουν τον server άν όμως δέν το κάνουν τότε θα δείς ένα μπάχαλο απο κινέζικα και θα καταλάβεις ότι κάτι αναβαθμίσανε. :D

Ο μόνος σωστός τρόπος για backup είναι απο το phpmyadmin, σωστός και σίγουρος.

P.S

Ενοείται ότι εάν έχεις UTF-8 την βάση σου τότε και η ιστοσελίδα σου θα είναι και αυτή με encoding UTF-8 σε άλλη περίπτωση θα πρέπει να χρησιμοποιείς Windows 1253 ή ISO Greek.
Εικόνα
Άβαταρ μέλους
Anzac
Administrator
Administrator
Δημοσιεύσεις: 36874
Εγγραφή: 27 Μαρ 2004, 15:38
Τοποθεσία: Αθήνα
Επικοινωνία:

Δημοσίευση από Anzac »

Εσύ καλά τα λες, δεν μπορείς όμως κάθε μέρα να μπαίνεις στο phpmyadmin και να τραβάς backups απο κάθε βάση σου!

Πόσταρε και το λίνκ που μου έδωσες σε pm, και εγώ θα αρχίσω τα πειράματα για να περάσω σε ολοκληρωτική utf-8 φάση.
e-HAF Admin
Cipher
Δημοσιεύσεις: 1771
Εγγραφή: 29 Δεκ 2008, 16:01
Τοποθεσία: Αθήνα

Δημοσίευση από Cipher »

θα δω μπας και σου γράψω κανά script να παίρνει μόνο του backup κάθε μέρα...
Άβαταρ μέλους
Anzac
Administrator
Administrator
Δημοσιεύσεις: 36874
Εγγραφή: 27 Μαρ 2004, 15:38
Τοποθεσία: Αθήνα
Επικοινωνία:

Δημοσίευση από Anzac »

Ευχαριστώ αλλά νομίζω πως δεν χρειάζεται.

Ήδη τα πέρνω μέσω cron job.

Επίσης η τεχνικός μου είπε να προσθέσω την παρακάτω γραμμή στο cron job, για να παίρνει σωστά το backup file.

--set-charset=utf8
ή
--default-character-set=utf8
e-HAF Admin
Απάντηση