Πώς να μετατρέψετε τα κινέζικα σε ελληνικά στο Joomla!

Εγκατέστησα το Joomla, ελληνικό ή διεθνές, αλλά δεν εμφανίζονται σωστά τα ελληνικά. Τι έχει πάει στραβά;
Απάντηση
Άβαταρ μέλους
Ευθύμης
Δημοσιεύσεις: 6336
Εγγραφή: 28 09 2006, 18:14
Τοποθεσία: Θεσσαλονίκη

25 11 2006, 03:34

Μόλις επισκεφτήκατε τον ιστοχώρο σας και διαπιστώσατε ότι τα ωραιότατα ελληνικά σας έχουν μεταμορφωθεί σε ακατάληπτα κινέζικα; Έχετε δοκιμάσει τα πάντα και δε γίνεται τίποτα; Κατ' αρχήν, διατηρήστε την ψυχραιμία σας. Άλλωστε, εκτός από το Ultrex, υπάρχουν και πολλές άλλες αποτελεσματικότερες λύσεις για να διορθωθεί το πρόβλημα.


Βήμα 1ο

Βλέπετε σωστά τα ελληνικά αλλά θέλετε να μετατρέψετε τη βάση σας από ISO-8859-7 ή Windows-1253 σε UTF-8.

Κρατήστε ένα αντίγραφο ασφαλείας της βάσης δεδομένων σας, όπως προτείνεται στο Βήμα 5 και επιχειρήστε τη μετατροπή με μια από τις τρεις προτεινόμενες μεθόδους (Word, UniRed ή Recode). Αντικαταστήστε τις μεταβλητές ως εξής:

Κώδικας: Επιλογή όλων

$a = iso-8859-7 ή windows-1253
$b = utf-8

Βήμα 2ο

Δε βλέπετε σωστά τα ελληνικά και επιθυμείτε να διορθώσετε το πρόβλημα.

Αλλάξετε την κωδικοποίηση των χαρακτήρων που εμφανίζονται στο φυλλομετρητή (browser) σας από το αντίστοιχο μενού δοκιμάζοντας διαδοχικά Unicode (UTF-8), Ελληνικά (ISO-8859-7) και Ελληνικά (Windows-1253).

Εάν το πρόβλημα διορθώνεται, ανοίξτε το αρχείο γλώσσας που χρησιμοποιείτε στο Joomla! (πιθανότατα language/english.php ή language/greek.php) και αλλάξτε τη γραμμή...

Κώδικας: Επιλογή όλων

DEFINE('_ISO','charset=xxx');
...εισάγοντας την κωδικοποίηση που διόρθωσε το πρόβλημα στη θέση του "xxx".

Εάν το πρόβλημά σας δεν επιλύθηκε, ελέγξτε το αρχείο index.php του προτύπου (template) που χρησιμοποιείτε. Υπάρχει γραμμή σαν κι αυτή;

Κώδικας: Επιλογή όλων

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
Αλλάξτε την ως εξής:

Κώδικας: Επιλογή όλων

<meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />
Επίσης, καλό είναι να την μεταφέρετε πρίν από κάθε άλλη γραμμή με ετικέτα meta.

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

Εάν το πρόβλημα επιμένει, προχωρήστε παρακάτω...


Βήμα 3ο

Ελέγξτε την κατάσταση των ελληνικών στη βάση δεδομένων σας μέσω της εφαρμογής phpMyAdmin. Περιηγηθείτε κάποιον πίνακα όπου εμφανίζονται ελληνικά στοιχεία (π.χ. jos_content) για να βεβαιωθείτε ότι τα ελληνικά σας εμφανίζονται σωστά.

Εάν βλέπετε και εκεί "κινέζικα", εφαρμόστε την ίδια τακτική όπως και στο Βήμα 2 μέχρι να διορθωθούν τα ελληνικά σας.

Εάν στη βάση δεδομένων βλέπετε σωστά ελληνικά, εφαρμόστε την ίδια τακτική όπως και στο Βήμα 2 για να διαπιστώσετε ποια κωδικοποίηση χρησιμοποιείται. Έπειτα, βεβαιωθείτε ότι οι στήλες σας, οι πίνακές σας και η βάση δεδομένων σας χρησιμοποιεί το αντίστοιχο σετ χαρακτήρων (charset) και την κατάλληλη ευρετηρίαση (collation) όπως στον παρακάτω πίνακα:

Κώδικας: Επιλογή όλων

Κωδικοποίηση			      Σετ χαρακτήρων	 Ευρετηρίαση

Unicode (UTF-8)			   utf8			     utf8_general_ci
Ελληνικά (Windows-1253)	 greek			    greek_general_ci
Ελληνικά (ISO-8859-7)		greek			    greek_general_ci
Εάν το σετ χαρακτήρων και/ή η ευρετηρίαση είναι λάθος χρησιμοποιήστε το συνημμένο αρχείο για να κάνετε αυτόματα τις απαραίτητες διορθώσεις ή κάντε τις απαραίτητες αλλαγές μόνοι σας μέσω phpMyAdmin. Περισσότερες οδηγίες θα βρείτε μέσα στο αρχείο.


Βήμα 4ο

Αν μέχρι τώρα δε χρειάστηκε να κάνετε καμία παρέμβαση αλλά ακόμη δεν μπορείτε να δείτε σωστά ελληνικά και η κωδικοποίηση/σετ χαρακτήρων που χρησιμοποιείτε είναι utf8, ελέγξτε αν η γραμμή 102 του αρχείου includes/database.php εμφανίζεται έτσι:

Κώδικας: Επιλογή όλων

        //@mysql_query("SET NAMES 'utf8'", $this->_resource);
Σε αυτή την περίπτωση αφαιρέστε τις δυο αρχικές καθέτους (//).


Βήμα 5ο

Αν τα ελληνικά στη βάση δεδομένων σας παραμένουν κινέζικα παρά τις φιλότιμες προσπάθειές σας να τα επαναφέρετε, προφανώς έχουν εισαχθεί ή κάποια στιγμή μετατράπηκαν σε λάθος κωδικοποίηση. Υπάρχουν μια σειρά από εργαλεία που μπορούν να σας βοηθήσουν να τα ανακτήσετε αλλά χρειάζεται προσοχή και, προπαντός, να κρατήσετε αντίγραφο ασφαλείας πριν επιχειρήσετε ο,τιδήποτε.

Κατ' αρχήν, χρησιμοποιήστε το phpMyAdmin για να εξάγετε το αντίγραφο ασφαλείας της βάσης σας επιβεβαιώνοντας ότι εξάγεται σε μορφή SQL και ότι η "Χρήση ανάποδων εισαγωγικών στα ονόματα των Πινάκων και των Πεδίων" είναι επιλεγμένη.

Έχοντας εξάγει αντίγραφο ασφαλείας, αποθηκεύστε το σε κάποιο ασφαλές σημείο του δίσκου σας και εργαστείτε πάνω σε ένα δεύτερο αντίγραφο.

Δοκιμάστε να επαναφέρετε τη βάση σας με κάποιες από τις παρακάτω μεθόδους αντικαθιστώντας τις μεταβλητές σύμφωνα με τον πίνακα που ακολουθεί.

Κώδικας: Επιλογή όλων

Εμφάνιση       Κλειδιά   Τυπικοί        $a             $b                                $c
                         Χαρακτήρες

αβγόÏ�ÏŽ   ÎÏ        ¿€¼            utf-8          iso-8859-1/Δυτικής Ευρώπης (ISO)  -
ÎħβγόÏ�ÏŽ   ÎÏ        ż€ĵ            utf-8          iso-8859-3/Τουρκική (ISO)         -
Ξ±Ξ²Ξ³ΟŒΟ�ΟŽ   ΞΟ        Ώ€Ό            utf-8          iso-8859-7                        -
αβγόύώ   ÎĎ        ¿€Ľ            utf-8          windows-1250                      -
αβγόÏ�ÏŽ   ÎÏ        ż€¼            utf-8          windows-1252                      -
Ξ±Ξ²Ξ³Ο�Ο�Ο�   ΞΟ        Ώ€Ό            utf-8          windows-1253                      -
áâ㶸¹   à       ¶Œ™            iso-8859-7     iso-8859-1                        utf-8
áâÄ�Ä‘Ĺ„Ĺ�   ĂÄ        Ŷš®           iso-8859-7     windows-1250                      utf-8
áâ㶸¹   à       ¶Œ™            iso-8859-7     windows-1252                      utf-8
áâ㢸¹   à       ¢Œ™            windows-1253   iso-8859-1                        utf-8
áâÄ�Ë�¸ą   ĂÄ        ĹË�š®          windows-1253   windows-1250                      utf-8
áâ㢸¹   à       ¢Œ™            windows-1253   windows-1252                      utf-8

MS Word
  • Ανοίξτε το αρχείο σας με το MS Word.
  • Κατά την εισαγωγή, επιλέξτε κωδικοποίηση $a.
  • Αποθηκεύστε το με κάποιο άλλο όνομα χρησιμοποιώντας την κωδικοποίηση $b.
Το παραχθέν αρχείο είναι στα ελληνικά με κωδικοποίηση utf-8.


UniRed
  • Ανοίξτε το αρχείο σας με τον κειμενογράφο UniRed.
  • Επιλέξτε Αρχείο > Ιδιότητες.
  • Επιλέξτε Χαρακτήρες > $a.
  • Επιλέξτε "Αποθήκευση ως...".
  • Επιλέξτε κωδικοποίηση $b, αποθηκεύστε το αρχείο και κλείστε το.
Το παραχθέν αρχείο είναι στα ελληνικά με κωδικοποίηση utf-8.

Εάν μετατρέπετε αρχείο στο οποίο εμπλέκεται και μεταβλητή $c:
  • Aνοίξτε το αρχείο σας με τον κειμενογράφο UniRed.
  • Επιλέξτε Αρχείο > Ιδιότητες.
  • Επιλέξτε Χαρακτήρες > $c.
  • Επιλέξτε "Αποθήκευση ως...".
  • Επιλέξτε κωδικοποίηση $b, αποθηκεύστε το αρχείο και κλείστε το.
  • Ανοίξτε το νέο αρχείο με τον κειμενογράφο UniRed.
  • Επιλέξτε Αρχείο > Ιδιότητες.
  • Επιλέξτε Χαρακτήρες > $a.
  • Επιλέξτε "Αποθήκευση ως...".
  • Επιλέξτε κωδικοποίηση $c, αποθηκεύστε το αρχείο και κλείστε το.
Το παραχθέν αρχείο είναι στα ελληνικά με κωδικοποίηση utf-8.


Recode

Η χρήση του προγράμματος recode χρειάζεται προσοχή γιατί το πρόγραμμα εγγράφει πάνω στο αρχείο που εισάγουμε. Η τήρηση αντιγράφου ασφαλείας κρίνεται άκρως απαραίτητη.

Εάν εμπλέκονται δύο μεταβλητές, εντελλόμαστε:

Κώδικας: Επιλογή όλων

recode -vsf $a..$b file.txt
Το παραχθέν αρχείο είναι στα ελληνικά με κωδικοποίηση utf-8.

Εάν εμπλέκονται τρεις μεταβλητές, εντελλόμαστε:

Κώδικας: Επιλογή όλων

recode -vsf $c..$b file.txt
recode -vsf $c..$b file.txt
recode -vsf $a..$c file.txt
Το παραχθέν αρχείο είναι στα ελληνικά με κωδικοποίηση utf-8.


Βήμα 6ο

Τα κινέζικα που βλέπετε στη βάση δεδομένων δε μοιάζουν με αυτά που παρουσιάζονται στο Βήμα 5 αλλά αποτελούνται από σειρές χαρακτήρων όπως:
  • &Icirc;&plusmn;&Icirc;&sup2;&Icirc;&sup3;&Icirc;&acute;
  • &alpha;&beta;&gamma;&delta;
  • &#x3B1;&#x3B2;&#x3B3;&#x3B4;
  • &#945;&#946;&#947;&#948;.
Για τις τρεις πρώτες περιπτώσεις:
  • Eπισκεφτείτε τη διεύθυνση http://centricle.com/tools/html-entities/ και εισάγετε το κείμενό σας (με αντιγραφή/επικόλληση) στο μετατροπέα.
  • Πατήστε "Decode".
  • Σώστε το αποτέλεσμα σε ένα νέο αρχείο μέσω ενός κειμενογράφου που υποστηρίζει Unicode (όπως ο UniRed).
Το παραχθέν αρχείο είναι στα ελληνικά με κωδικοποίηση utf-8.

Για την τρίτη περίπτωση:
  • Aνοίξτε το αρχείο σας με τον κειμενογράφο UniRed.
  • Επιλέξτε Ιδιότητες > Unicode Representation > &#DDDD;.
  • Σώστε το αρχείο σας με νέο όνομα και κλείστε το.
  • Ανοίξτε το νέο αρχείο με τον κειμενογράφο UniRed.
  • Επιλέξτε Ιδιότητες > Unicode Representation > &#DDDD;.
  • Εάν τα ελληνικά δε φαίνονται σωστά, επιλέξτε κωδικοποίηση utf-8.
  • Αντιγράψτε και επικολλήστε το περιεχόμενο σε νέο αρχείο.
  • Σώστε το με νέο όνομα και κλείστε το.
Το παραχθέν αρχείο είναι στα ελληνικά με κωδικοποίηση utf-8.


Βήμα 7ο

Εφόσον τα ελληνικά στη βάση δεδομένων σας δεν παρουσιάζουν πρόβλημα και χρησιμοποιείτε διακομιστή ιστοχώρου (web server) τύπου apache, προσθέστε την ακόλουθη γραμμή στο αρχείο .htaccess, που βρίσκεται στον κεντρικό φάκελο του ιστοχώρου σας (ή στον φάκελο με τα αρχεία ρυθμίσεων του apache):

Κώδικας: Επιλογή όλων

AddDefaultCharset Off
και την ακόλουθη γραμμή στο αρχείο php.ini, που συνήθως βρίσκεται επίσης στους προαναφερθέντες φακέλους:

Κώδικας: Επιλογή όλων

php_value default_charset none

Βήμα 8ο
  • Εφόσον έχετε εφαρμόσει κάποιες από τις τεχνικές του βήματος 5 ή 6, διαγράψτε την παλιά σας βάση δεδομένων και εισάγετε την καινούρια.
  • Ελέγξτε ποιον κειμενογράφο χρησιμοποιείτε για να ενημερώνετε τις ιστοσελίδες σας μέσω του Joomla!.
  • Αποφύγετε τον TinyMCE, που εισάγει οντότητες html (html entities), δηλαδή χαρακτήρες του τύπου αβγδ.
  • Για να είστε βέβαιοι, προτιμήστε τον κειμενογράφο JCE, που αποδίδει σωστά χαρακτήρες Unicode.
Εάν αντιμετωπίζετε και πάλι πρόβλημα, επαναλάβετε τα προηγούμενα βήματα μέχρι να επιλυθεί το ζήτημα.


Φυσικά, οι πιο πάνω προτάσεις δεν εξαντλούν τους συνδυασμούς και τις πιθανές μετατροπές από κωδικοποίηση σε κωδικοποίηση που μπορεί να συναντήσετε. Εάν δεν καταφέρετε να επαναφέρετε το αρχείο σας ή να διορθώσετε τα ελληνικά σας, μην απελπίζεστε. Στείλτε ένα μήνυμα και απλά ευχηθείτε για το καλύτερο. Μέχρι να επιλυθεί το ζήτημά σας, όμως, μην μεταβάλετε καθ' οιονδήποτε τρόπο το αντίγραφο ασφαλείας σας. Ίσως, αυτό που δεν επιτυγχάνει μια μέθοδος διορθωθεί με κάποια άλλη.

Καλές μετατροπές!


Σύνδεσμοι:

UniRed: http://www.esperanto.mv.ru/UniRed/ENG/index.html
Recode: http://unxutils.sourceforge.net/
Συνημμένα
collate.zip
(2.42 KiB) Μεταφορτώθηκε 656 φορές
Τελευταία επεξεργασία από το μέλος Ευθύμης την 10 04 2007, 22:59, έχει επεξεργασθεί 1 φορά συνολικά.
Άβαταρ μέλους
Άρης Ντάτσης
Δημοσιεύσεις: 8933
Εγγραφή: 04 09 2005, 22:08
Τοποθεσία: Αθήνα
Επικοινωνία:

25 11 2006, 03:41

Καλά, είσαι άπαιχτος.

Το κάνω μόνιμο θέμα, αύριο το βάζω στα tutorials και σε αναγορεύω σε μέγα εξελληνιστή!
Onscreen Web Services | Υποστήριξη Joomla

Εικόνα
trelamenos
Δημοσιεύσεις: 246
Εγγραφή: 24 07 2006, 16:56
Τοποθεσία: Θεσσαλονική

25 11 2006, 03:51

XAXAXAXA  ;D ;D ;D ;D

Α ρε Ευθύμη είσαι τρομερός!!! Ωραίο το tutorial!
//LIFE WOULD BE EASIER IF I HAD THE SOURCE CODE!
Άβαταρ μέλους
nektarios
Δημοσιεύσεις: 79
Εγγραφή: 27 07 2006, 13:30
Επικοινωνία:

25 11 2006, 12:12

Ευθύμη,
Θα  γλυτώσουν πολλοί  από πολλά... ;)

Νεκ.
http://www.snek.gr - just free templates
Άβαταρ μέλους
Παναγιώτης Γαζεπίδης
Δημοσιεύσεις: 1419
Εγγραφή: 21 09 2005, 12:22
Τοποθεσία: Αθήνα
Επικοινωνία:

25 11 2006, 12:40

Πολύ καλή δουλειά Ευθύμη! Αρη νομίζω πως θα πρέπει να αναβαθμίσουμε τα tutorials. Πιστεύω η βοήθειά της συγκεκριμένης ενότητας είναι ανεκτίμητη.
Άβαταρ μέλους
alexoudis
Δημοσιεύσεις: 489
Εγγραφή: 07 04 2006, 20:31
Τοποθεσία: Alexandroupoli
Επικοινωνία:

25 11 2006, 13:20

σωστός άντε πάλι χρωστάμε κέρασμα
Άβαταρ μέλους
Άρης Ντάτσης
Δημοσιεύσεις: 8933
Εγγραφή: 04 09 2005, 22:08
Τοποθεσία: Αθήνα
Επικοινωνία:

25 11 2006, 13:23

ironstel έγραψε: Πολύ καλή δουλειά Ευθύμη! Αρη νομίζω πως θα πρέπει να αναβαθμίσουμε τα tutorials. Πιστεύω η βοήθειά της συγκεκριμένης ενότητας είναι ανεκτίμητη.
Ναι, είναι στις άμεσες προτεραιότητές μας, να δώσουμε περισσότερη βαρύτητα στη γνωσιακή βάση του myjoomla.gr
Onscreen Web Services | Υποστήριξη Joomla

Εικόνα
Άβαταρ μέλους
Ευθύμης
Δημοσιεύσεις: 6336
Εγγραφή: 28 09 2006, 18:14
Τοποθεσία: Θεσσαλονίκη

25 11 2006, 13:30

alexoudis έγραψε:σωστός άντε πάλι χρωστάμε κέρασμα
ΟΚ... μόλις συμπλήρωσα ένα μήνα δωρεάν φαγητού. Κανονίστε να μην πλακώσετε όλοι μαζί στη Θεσσαλονίκη. Δε θα το αντέξει η ζυγαριά μου!  ;D
macman έγραψε:Το κάνω μόνιμο θέμα, αύριο το βάζω στα tutorials και σε αναγορεύω σε μέγα εξελληνιστή!
Πρώτη φορά μου απονέμεται ένας τόσο καβαφικός τίτλος! Ή μήπως είναι εμπειρίκειος;  8)
Τελευταία επεξεργασία από το μέλος Ευθύμης την 25 11 2006, 13:33, έχει επεξεργασθεί 1 φορά συνολικά.
Άβαταρ μέλους
Γιώργος Φάκας
Δημοσιεύσεις: 6933
Εγγραφή: 07 09 2005, 17:49
Τοποθεσία: Λάρισα
Επικοινωνία:

27 11 2006, 10:30

Ευθύμη (μετά απο ένα ΠαρασκευοΣαββατοΚύριακο με ίωση επανήλθα σήμερα )τι να πω αυτό ήταν το τελικό χτύπημα ο Κινέζος έμαθε πλέον Ελληνικά. :)  :D
easylogic : Επαγγαλματικές υπηρεσίες Joomla
Αναβαθμίσεις | Υποστήριξη | Eshop | Iστοσελίδες
vts2006
Δημοσιεύσεις: 1
Εγγραφή: 04 12 2006, 00:07

05 12 2006, 18:45

Μηπως ξερει κανεις πως θα εμφανιζονται σωστα τα Ελλληνικα απο RSS feed. Οσα ελληνικα σιτε με feed βαζω τα βγαζει κινεζικα (εχουν κωδικοποιηση iso-8859-7, ενω τα ελληνικα του σιτε ειναι μια χαρα (UTF-8)
Άβαταρ μέλους
Ευθύμης
Δημοσιεύσεις: 6336
Εγγραφή: 28 09 2006, 18:14
Τοποθεσία: Θεσσαλονίκη

05 12 2006, 18:56

Κατ' αρχήν, καλώς ήλθες.

Το πρόβλημα είναι ότι άλλα rss feeds προσφέρονται σε iso-8859-7 και άλλα σε utf-8. Μπορείς πάντως να τα επεξεργαστείς με κάποιον κώδικα όπως παρακάτω και να λύσεις το πρόβλημα:

Κώδικας: Επιλογή όλων

if (mb_check_encoding ( $rss, "ISO-8859-7" )) { $rss = iconv( "ISO-8859-7", "UTF-8", $rss ); }
else { $rss = iconv( "UTF-8", "ISO-8859-7", $rss ); }
Άβαταρ μέλους
Aligator21
Δημοσιεύσεις: 491
Εγγραφή: 06 09 2005, 10:56
Τοποθεσία: Χαλκίδα
Επικοινωνία:

06 12 2006, 12:16

καλά εεε τώρα το είδα αυτό!!!
τρομερό θέμα και πάρα πολύ χρήσιμο!!!!!
Μπράβο μπράβο (αν και καθυστερημένα λίγο)
http://www.online-games.gr
Online Games Forums
dodoni
Δημοσιεύσεις: 316
Εγγραφή: 03 04 2006, 20:31
Επικοινωνία:

07 12 2006, 14:24

Με την μέθοδο του recode και με τα φώτα και την υπομονή του Ευθύμη (ευχαριστώ!!) κατάφερα σε μερικές βάσεις δεδομένων να βλέπω ελληνικά.

Το πρόβλημα που αντιμετωπίζω είναι ότι σε καμία περίπτωση δεν μπορώ να κάνω import το νέο αρχείο με τα σωστά ελληνικά. Παίρνω πάντα μηνύματα σφάλματος, συνήθως με την ένδειξη "error 1046"

Τα ίδια προβλήματα εμφανίζονται ακόμη κι όταν προσπαθώ να ανεβάσω τους πίνακες, έναν προς έναν.
Άβαταρ μέλους
Ευθύμης
Δημοσιεύσεις: 6336
Εγγραφή: 28 09 2006, 18:14
Τοποθεσία: Θεσσαλονίκη

07 12 2006, 14:33

Συμπίεσε το αντίγραφο ασφαλείας της βάσης σου και στείλτο στην ηλεκτρονική μου διεύθυνση να του ρίξω μια ματιά.
dodoni
Δημοσιεύσεις: 316
Εγγραφή: 03 04 2006, 20:31
Επικοινωνία:

07 12 2006, 14:39

Το συμπιεσμένο έφυγε ήδη με το ταχυδρομικό περιστέρι.

Ευχαριστώ!
Απάντηση

Επιστροφή στο “Πρόβλημα με τα ελληνικά”