Απορια με php-mysql Προβλημα εμφανισης ελληνικών χαρακτήρων

Συζητήσεις για γλώσσες προγραμματισμού και θέματα σχετικά με προγραμματισμό.
Post Reply
kostas885
byte level
byte level
Posts: 69
Joined: Wed Aug 26, 2009 3:24 pm
Academic status: 4th year
Gender:

Απορια με php-mysql Προβλημα εμφανισης ελληνικών χαρακτήρων

Post by kostas885 » Tue Aug 24, 2010 7:27 pm

Καλησπέρα σε όλους!! Αφου έχω περασει κάποιο κείμενο στη βάση μου και θέλω να το εξάγω στην ιστοσελίδα , μου το απεικονίζει με ερωτιματικά. Στο phpmyadmin μου το εμγανιζει κανονικά. Δουλεύω με dreamweaver και xampp. Την βαση την εχω δημιουργησει με utf8_general_ci collation και επίσης οι πινακες χρησιμοποιουν το ιδιο.Στο php αρχειο εχω συμπαριλάβει το παρακάτω : <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Δωστε μου μια λύση.
Ευχαριστώ πολύ!!!
User avatar
Serendipity
Gbyte level
Gbyte level
Posts: 1977
Joined: Tue Sep 19, 2006 11:16 pm
Academic status: Alumnus/a
Gender:
Location: Sweden
Contact:

Re: Απορια με php-mysql Προβλημα εμφανισης ελληνικών χαρακτήρων

Post by Serendipity » Tue Aug 24, 2010 8:06 pm

μηπως στη βάση πρέπει να το περάσεις με greek_general_ci??
-Two things are infinite: the universe and human stupidity; and I'm not sure about the universe.
--Albert Einstein--


ImageImage

My new blog Serendipity's thoughts!
User avatar
Ισοβίτης
Venus Former Team Member
Posts: 1262
Joined: Sat Apr 21, 2007 5:45 pm
Gender:
Location: Πίσω από τα σίδερα
Contact:

Re: Απορια με php-mysql Προβλημα εμφανισης ελληνικών χαρακτήρων

Post by Ισοβίτης » Tue Aug 24, 2010 10:36 pm

Code: Select all

mysql_query("SET NAMES 'utf8'");
...και λογικά θα είναι ΟΚ.
Συγχώρα με που δεν καταλαβαίνω τι λένε τα κομπιούτερς κι οι αριθμοί...

Image

Find me: Image Image Image Image Image
User avatar
Michelle
Gbyte level
Gbyte level
Posts: 1168
Joined: Sun Jul 15, 2007 8:05 pm
Academic status: Alumnus/a
Gender:
Location: MIT
Contact:

Re: Απορια με php-mysql Προβλημα εμφανισης ελληνικών χαρακτήρων

Post by Michelle » Sun Aug 29, 2010 1:34 am

Αν δεν πιάσει αυτό που πρότεινε ο Ισοβίτης, δοκίμασε να στείλεις το Content-Type header μέσω PHP:

Code: Select all

header('Content-type: text/html; charset=utf-8');
(προσοχή: Όπως και οποιοδήποτε άλλο header, πρέπει να σταλεί πριν σταλεί οποιοδήποτε output)

Τα headers που στέλνει ο server έχουν μεγαλύτερη προτεραιότητα από το meta της HTML. Οπότε αν ο server σου στέλνει ας πούμε ISO-8859-7, επικρατεί αυτό, ο,τι meta και να βάλεις.

Αν δεν πιάσει τίποτα απ'όσα σου προτείναμε, δημοσίευσε και ένα δείγμα από τα "κινέζικα" να δούμε και περί τίνος πρόκειται, "κινέζικα" από "κινέζικα" έχουν διαφορά. :-) Ή --ακόμα καλύτερα-- δώσε κάποιο link.
Question everything (and first of all, yourself)

w3.org/People/all#lealea.verou.me@leaverou on Twitter
kostas885
byte level
byte level
Posts: 69
Joined: Wed Aug 26, 2009 3:24 pm
Academic status: 4th year
Gender:

Re: Απορια με php-mysql Προβλημα εμφανισης ελληνικών χαρακτήρων

Post by kostas885 » Sun Aug 29, 2010 11:57 am

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

"SET NAMES 'utf8'"
"SET CHARACTER_SET 'utf8'"
βεβαίως η βάση ειχε collation utf8_general_ci το ίδιο και όλοι οι πίνακες.
User avatar
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 Προβλημα εμφανισης ελληνικών χαρακτήρων

Post by Zifnab » Sun Aug 29, 2010 4:04 pm

Εδώ είναι τα βασικά βήματα μαζεμένα - γιατί η απάντηση σε παλιότερη ερώτηση ήταν κάπως καταχωνιασμένη.
Zifnab wrote:1)πρέπει να δεις το character set της βάσης σου και των πινάκων της (προτείνω utf8 με collation utf8-general-ci)
2) το connection με τη βάση να γίνεται σε unicode

Code: Select all

	
μετά το mysql_connect:
mysql_query('set character set UTF8');
mysql_query("SET NAMES 'utf8'"); 
3)τα queries αν τα τρέχεις με κονσόλα να σιγουρευτείς ότι όντως υποστηρίζει ελληνικά unicode (πχ το putty ναι μεν ρυθμισμένο σε unicode τα πέρναγε ως iso-8859-7 (greek)- οπότε για να τα περάσω το έκανα μέσω phpmyadmin αφού δεν υπήρχε άλλη λύση). Επίσης το αρχείο .sql να είναι κωδικοποιημένο σε UTF-8.
4)Να έχεις κωδικοποιημένα τα php/html σε UTF-8 χωρίς BOM
5)Αν τα ανέβαζες σε ftp server (όπως της σχολής) να είχες σιγουρέψει ότι τα ανεβάζει σαν unicode ή binary και όχι σαν ascii.
6)τέλος για τον browser να έχεις το σωστό encoding στα headers της html/php. Προσοχή στις κενές γραμμές και τα BOM
Post Reply

Return to “Προγραμματισμός”