Απορια με php-mysql Προβλημα εμφανισης ελληνικών χαρακτήρων
Απορια με php-mysql Προβλημα εμφανισης ελληνικών χαρακτήρων
Καλησπέρα σε όλους!! Αφου έχω περασει κάποιο κείμενο στη βάση μου και θέλω να το εξάγω στην ιστοσελίδα , μου το απεικονίζει με ερωτιματικά. Στο phpmyadmin μου το εμγανιζει κανονικά. Δουλεύω με dreamweaver και xampp. Την βαση την εχω δημιουργησει με utf8_general_ci collation και επίσης οι πινακες χρησιμοποιουν το ιδιο.Στο php αρχειο εχω συμπαριλάβει το παρακάτω : <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Δωστε μου μια λύση.
Ευχαριστώ πολύ!!!
Δωστε μου μια λύση.
Ευχαριστώ πολύ!!!
- Serendipity
- Gbyte level
- Posts: 1977
- Joined: Tue Sep 19, 2006 11:16 pm
- Academic status: Alumnus/a
- Gender: ♀
- Location: Sweden
- Contact:
Re: Απορια με php-mysql Προβλημα εμφανισης ελληνικών χαρακτήρων
μηπως στη βάση πρέπει να το περάσεις με greek_general_ci??
-Two things are infinite: the universe and human stupidity; and I'm not sure about the universe.
--Albert Einstein--


My new blog Serendipity's thoughts!
--Albert Einstein--


My new blog Serendipity's thoughts!
- Ισοβίτης
- Venus Former Team Member
- Posts: 1262
- Joined: Sat Apr 21, 2007 5:45 pm
- Gender: ♂
- Location: Πίσω από τα σίδερα
- Contact:
Re: Απορια με php-mysql Προβλημα εμφανισης ελληνικών χαρακτήρων
Code: Select all
mysql_query("SET NAMES 'utf8'");
- Michelle
- Gbyte level
- Posts: 1168
- Joined: Sun Jul 15, 2007 8:05 pm
- Academic status: Alumnus/a
- Gender: ♀
- Location: MIT
- Contact:
Re: Απορια με php-mysql Προβλημα εμφανισης ελληνικών χαρακτήρων
Αν δεν πιάσει αυτό που πρότεινε ο Ισοβίτης, δοκίμασε να στείλεις το Content-Type header μέσω PHP:
(προσοχή: Όπως και οποιοδήποτε άλλο header, πρέπει να σταλεί πριν σταλεί οποιοδήποτε output)
Τα headers που στέλνει ο server έχουν μεγαλύτερη προτεραιότητα από το meta της HTML. Οπότε αν ο server σου στέλνει ας πούμε ISO-8859-7, επικρατεί αυτό, ο,τι meta και να βάλεις.
Αν δεν πιάσει τίποτα απ'όσα σου προτείναμε, δημοσίευσε και ένα δείγμα από τα "κινέζικα" να δούμε και περί τίνος πρόκειται, "κινέζικα" από "κινέζικα" έχουν διαφορά.
Ή --ακόμα καλύτερα-- δώσε κάποιο link.
Code: Select all
header('Content-type: text/html; charset=utf-8');
Τα headers που στέλνει ο server έχουν μεγαλύτερη προτεραιότητα από το meta της HTML. Οπότε αν ο server σου στέλνει ας πούμε ISO-8859-7, επικρατεί αυτό, ο,τι meta και να βάλεις.
Αν δεν πιάσει τίποτα απ'όσα σου προτείναμε, δημοσίευσε και ένα δείγμα από τα "κινέζικα" να δούμε και περί τίνος πρόκειται, "κινέζικα" από "κινέζικα" έχουν διαφορά.

Question everything (and first of all, yourself)
w3.org/People/all#lea ✿ lea.verou.me ✿ @leaverou on Twitter
w3.org/People/all#lea ✿ lea.verou.me ✿ @leaverou on Twitter
Re: Απορια με php-mysql Προβλημα εμφανισης ελληνικών χαρακτήρων
Λοιπον παιδια καταρχίν πρέπει να σας ευχαριστίσω ολους για τη βοήθεια σας!!! Το πρόβλημα λύθηκε... 2 γραμμες κώδικα ήταν αρκετές.
"SET NAMES 'utf8'"
"SET CHARACTER_SET 'utf8'"
βεβαίως η βάση ειχε collation utf8_general_ci το ίδιο και όλοι οι πίνακες.
"SET NAMES 'utf8'"
"SET CHARACTER_SET 'utf8'"
βεβαίως η βάση ειχε collation utf8_general_ci το ίδιο και όλοι οι πίνακες.
- Zifnab
- Venus Former Team Member
- Posts: 7581
- Joined: Tue Nov 15, 2005 2:42 am
- Academic status: MSc
- Gender: ♂
- Location: Connecticut
- Contact:
Re: Απορια με php-mysql Προβλημα εμφανισης ελληνικών χαρακτήρων
Εδώ είναι τα βασικά βήματα μαζεμένα - γιατί η απάντηση σε παλιότερη ερώτηση ήταν κάπως καταχωνιασμένη.
Zifnab wrote:1)πρέπει να δεις το character set της βάσης σου και των πινάκων της (προτείνω utf8 με collation utf8-general-ci)
2) το connection με τη βάση να γίνεται σε unicode3)τα queries αν τα τρέχεις με κονσόλα να σιγουρευτείς ότι όντως υποστηρίζει ελληνικά unicode (πχ το putty ναι μεν ρυθμισμένο σε unicode τα πέρναγε ως iso-8859-7 (greek)- οπότε για να τα περάσω το έκανα μέσω phpmyadmin αφού δεν υπήρχε άλλη λύση). Επίσης το αρχείο .sql να είναι κωδικοποιημένο σε UTF-8.Code: Select all
μετά το mysql_connect: mysql_query('set character set UTF8'); mysql_query("SET NAMES 'utf8'");
4)Να έχεις κωδικοποιημένα τα php/html σε UTF-8 χωρίς BOM
5)Αν τα ανέβαζες σε ftp server (όπως της σχολής) να είχες σιγουρέψει ότι τα ανεβάζει σαν unicode ή binary και όχι σαν ascii.
6)τέλος για τον browser να έχεις το σωστό encoding στα headers της html/php. Προσοχή στις κενές γραμμές και τα BOM