mysql και ελληνικά

PHP, ASP, Javascript, MySQL, WordPress, Joomla, phpBB, OpenSource λογισμικό.

mysql και ελληνικά

Δημοσίευσηαπό TaGGeR » 24.02.07, 8:10 pm

Χαίρετε μετά από καιρό...

Ύστερα από μεγάλο χρονικό διάστημα χρειάζεται να φτιάξω ένα site και μάλιστα σε php-mysql που έχω μόνο λίγες (θεωρητικές) γνώσεις...
Πρώτο site με βάση δεδομένων λοιπόν και μετά από αρκετά προβλήματα, ιδού το τελευταίο:

Προσθέτω εγγραφές στη βάση μου μέσω phpmyadmin ώστε να τσεκάρω το php script. τα δεδομένα είναι στα ελληνικά. Οι ιστοσελίδες που έχω ετοιμάσει είναι σε UTF-8 κωδικοποίηση, και σε αυτήν τα ελληνικά δεδομένα της βάσης φαίνονται σαν ???. Αλλάζοντας κωδικοποίηση από τον browser σε Greek Iso όλα είναι οκ. Μάλλον το θέμα είναι στις ρυθμίσης της mysql, οπότε δοκιμάζω αλλάζοντας τα collations σε utf-8, αλλά πάλι τίποτα.
Ποιες είναι οι σωστές ρυθμίσης για να παίξουν ελληνικά από mysql σε μια σελίδα με UTF-8, που χρειάζονται να γίνουν είτε μέσω phpmyadmin είτε μέσω κάποιου php script προς τη βάση;

Σημείωση οτι στον τοπικό server που δουλεύω έχω τη δυνατότητα να αλλάζω collations ενώ στον hosting server πάλι μέσω phpmyadmin όχι (άλλη μια απορία...)

Ευχαριστώ εκ των προτέρων :D
..::Color&Code::..
Άβαταρ μέλους
TaGGeR
Member
 
Posts: 219
Εγγραφή: 10.08.05, 8:07 pm
Τοποθεσία: West Attika

Δημοσίευσηαπό mentos » 24.02.07, 10:06 pm

εάν δοκιμάσεις να προσθέσεις "χειροκίνητα" εγγραφές από το phpmyadmin τότε θα σου φαίνονται '??', εάν τα προσθέσεις από μια φόρμα που είναι σε ένα αρχείο με UTF-8 τότε θα φαίνονται στην βάση κινέζικα και όταν τα τραβάς για να εμφανίσεις στη σελίδα σου όλα θα είναι νορμάλ.. το ότι μπορείς να αλλάξεις τα collation, encoding κλπ μέσω του phpmyadmin πάει να πει ότι λογικά έχεις την mySQL 5 ενώ ο server σου έχει εγκατεστημένη την έκδοση 4. καλό θα ήταν να τεστάρεις ότι κάνεις στο pc σου με τα ίδια settings που έχει και ο server σου για αποφυγή error, ασυμβατότητας κλπ κλπ.

τσέκαρε και αυτά εδώ:

~ http://phputf8.sourceforge.net/
~ http://www.vcdc.gr/forum/viewtopic.php?t=3723
~ http://www.vcdc.gr/forum/viewtopic.php?t=2986
~ http://www.vcdc.gr/forum/viewtopic.php?t=361
~ http://www.freestuff.gr/forums/viewtopic.php?t=26240
~ http://www.freestuff.gr/forums/viewtopic.php?t=3158

enjoy,
Γιάννης

λίγο search κάνει καλό :wink:
Άβαταρ μέλους
mentos
Senior Member
 
Posts: 748
Εγγραφή: 27.10.05, 5:32 pm
Τοποθεσία: Βύρωνας, Αθήνα

Δημοσίευσηαπό TaGGeR » 25.02.07, 2:50 am

Tell me about searching...

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

Thanks a lot, θα το δοκιμάσω και ελπίζω να δουλέψει! :)
..::Color&Code::..
Άβαταρ μέλους
TaGGeR
Member
 
Posts: 219
Εγγραφή: 10.08.05, 8:07 pm
Τοποθεσία: West Attika

Δημοσίευσηαπό TaGGeR » 25.02.07, 5:14 pm

Προς το παρόν βρέθηκε λύση. Ελπίζω να μην αποδειχτεί μπακαλίστικη.

Thanx mentos για το hint
"εάν δοκιμάσεις να προσθέσεις "χειροκίνητα" εγγραφές από το phpmyadmin τότε θα σου φαίνονται '??', εάν τα προσθέσεις από μια φόρμα που είναι σε ένα αρχείο με UTF-8 τότε θα φαίνονται στην βάση κινέζικα και όταν τα τραβάς για να εμφανίσεις στη σελίδα σου όλα θα είναι νορμάλ.. "

Όντως με αυτόν τον τρόπο όλα δείχνουν ok στον hosting server αλλά στον τοπικό πάλι κάποια σύμβολα δεν έδειχναν σωστά (πχ "ή") - στον Firefox έδειχνε το ερωτηματικό σε φόντο μαύρου ρόμβου ενώ στον IE το έδειχνε σαν "ο". Προς το παρόν δεν θα ασχοληθώ με τον τοπικό server. ¶λλο θέμα είναι το export από την τοπική βάση στην απομακρυσμένη μέσω phpmyadmin, διαφορετικής έκδοσης...

Η μια έκδοση (η τοπική) υποστηρίζει
Κώδικας: Επιλογή όλων
collate utf8_unicode_ci

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


ενώ η απομακρυσμένη όχι :roll:

προς το παρόν κι αυτό το αλλάζω manually (όταν θέλω να κάνω τέτοια ενέργεια - μάλλον θα το αποφύγω και θα δουλέψω κατευθείαν στον hosting server να τελειώσω ώστε να χω χρόνο μετά να το ψάξω)...

Ελπίζω να μην προκύψει άλλη δυσλειτουργία (λέμε τώρα) :D

Αν θέλετε ενώστε αυτό το topic με άλλα παρόμοια (mysql και ελληνικά) να μην υπάρχει διασπορά...thnx again!!
..::Color&Code::..
Άβαταρ μέλους
TaGGeR
Member
 
Posts: 219
Εγγραφή: 10.08.05, 8:07 pm
Τοποθεσία: West Attika

Δημοσίευσηαπό psilos » 26.02.07, 12:52 am

Δεν ξέρω αν βοηθήσει αλλά αν έχει ήδη η βάση δεδομένα σε διαφορετικό collate ή charset από το utf8, δεν μπορείς να κάνεις αλλαγή σε κάποιο άλλο γιατί οι πίνακες θα παραμείνουν στο προηγούμενο collate.

H μόνη λύση είναι διαγραφή της βάσης και δημιουργία καινούργιας με το σωστό collate εξ αρχής και μετά εισαγωγή των δεδομένων.

Καλό κουράγιο.
Άβαταρ μέλους
psilos
Junior Member
 
Posts: 317
Εγγραφή: 05.01.07, 1:42 pm
Τοποθεσία: London

Δημοσίευσηαπό TaGGeR » 26.02.07, 2:37 am

Ναι το διαπίστωσα εγκαίρως! :lol:
..::Color&Code::..
Άβαταρ μέλους
TaGGeR
Member
 
Posts: 219
Εγγραφή: 10.08.05, 8:07 pm
Τοποθεσία: West Attika

Re: mysql και ελληνικά

Δημοσίευσηαπό sarig » 16.07.09, 10:42 am

Καλημέρα και από μένα και καλώς ήρθα lol.
Αρχικά συγχαρητήρια για το site σας.

Γράφω εδώ, γιατί έχω παρόμοιο πρόβλημα, και ενώ έχω δει τα θέματα που παρέθεσε ο mentos παρ' όλα αυτά χάθηκα λίγο.

Η ερώτηση είναι απλή:
Πώς γίνεται να περνάω ελληνικά στη mysql και να τα καταλαβαίνει ως ελληνικά, να κάνει αναζητήσεις και να δουλεύει το mysql_real_escape_string() ;

side-questions:
Προφανώς έχει σημασία το encoding των δεδομένων που στέλνω από την φόρμα.
Πώς βλέπω όμως ποιο είναι αυτό, και πιο σημαντικό πώς το αλλάζω;

Επίσης διάβασα κάτι σχετικά με το encoding της ίδιας της HTML σελίδας. Μπορεί να μου προκαλεί αυτό πρόβλημα;
Πώς το βλέπω το encoding; Πώς το αλλάζω;

Χρησιμοποιώ
mysql server 5.1.33
mysql charset utf8 unicode
php 5.2.9
apache 2.2.11
και είμαι σε windows XP SP3 και ελληνικά & αγγλικά.

Αυτά για την ώρα και συγγνώμη αν κούρασα.
Άβαταρ μέλους
sarig
Member
 
Posts: 29
Εγγραφή: 12.06.09, 7:54 pm

Re: mysql και ελληνικά

Δημοσίευσηαπό notis » 16.07.09, 1:34 pm

Αν δημιουργησεις μια βαση δεδομενων σε UTF-8
και αν τα html/php αρχεια σου εχουν δημιουργηθει με encoding UTF-8 (τσεκαρισε τα με DW ή καποιον editor σαν το notepad2
και αν στο head εχεις το
Κώδικας: Επιλογή όλων
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />


...ολα θα πανε μια χαρα! 8)
Άβαταρ μέλους
notis
Master Admin
 
Posts: 3697
Εγγραφή: 23.02.04, 1:36 pm
Τοποθεσία: Corinth

Re: mysql και ελληνικά

Δημοσίευσηαπό sarig » 16.07.09, 9:54 pm

Αυτά είναι... Ταχύτητα, σαφήνεια και αποτελεσματικότητα.

Notis Respect και thanks a lot. :clap :mrgreen: :mrgreen:
Άβαταρ μέλους
sarig
Member
 
Posts: 29
Εγγραφή: 12.06.09, 7:54 pm

Re: mysql και ελληνικά

Δημοσίευσηαπό notis » 16.07.09, 9:57 pm

Να 'σαι καλα και καλωσηρθες :D
Άβαταρ μέλους
notis
Master Admin
 
Posts: 3697
Εγγραφή: 23.02.04, 1:36 pm
Τοποθεσία: Corinth

Re: mysql και ελληνικά

Δημοσίευσηαπό itsoum » 24.07.13, 3:17 pm

notis έγραψε:Αν δημιουργησεις μια βαση δεδομενων σε UTF-8
και αν τα html/php αρχεια σου εχουν δημιουργηθει με encoding UTF-8 (τσεκαρισε τα με DW ή καποιον editor σαν το notepad2
και αν στο head εχεις το
Κώδικας: Επιλογή όλων
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />


...ολα θα πανε μια χαρα! 8)


Νότη καλησπέρα. Τα έχω όλα utf-8 όμως τα ελληνικά που ανασύρονται από την βάση εμφανίζονται ως ερωτηματικά '???????'. Τα αγγλικά έρχονται μια χαρά από την βάση ενώ και ελληνικά και αγγλικά που δεν ανασύρνται από την βάση εμφανίζονται κανονικά. Την εισαγωγή των στοιχειών την έκανα μέσο του phpmyadmin.
"Ένας ανόητος δεν βλέπει το ίδιο δένδρο που βλέπει ένας σοφός."
William Blake

Εξοπλισμός: canon 5d | 28mm f/1.8 usm | 50mm f/1.8 || canon s95
Πωλούνται: pentax z-50p
itsoum
Member
 
Posts: 156
Εγγραφή: 21.05.09, 11:49 am
Τοποθεσία: Νέα Σμύρνη

Re: mysql και ελληνικά

Δημοσίευσηαπό notis » 24.07.13, 3:57 pm

Αυτό σημαίνει πως η βάση έχει αποθηκευμένα τα ελληνικά σε ANSI μορφή (αντί για UTF-8)
Είναι παλιά βάση;
Άβαταρ μέλους
notis
Master Admin
 
Posts: 3697
Εγγραφή: 23.02.04, 1:36 pm
Τοποθεσία: Corinth

Re: mysql και ελληνικά

Δημοσίευσηαπό itsoum » 24.07.13, 4:16 pm

Όχι εγώ την δημιούργησα. Πριν μερικές μέρες. Έχει utf-8_general_ci σύνθεση και collate utf-8.

Βέβαια στο sql export μου βγάζει κάτι περίεργα σαν σχόλια.
Τσέκαρε:

https://pithos.grnet.gr/pithos/rest/e10 ... 281%29.sql
"Ένας ανόητος δεν βλέπει το ίδιο δένδρο που βλέπει ένας σοφός."
William Blake

Εξοπλισμός: canon 5d | 28mm f/1.8 usm | 50mm f/1.8 || canon s95
Πωλούνται: pentax z-50p
itsoum
Member
 
Posts: 156
Εγγραφή: 21.05.09, 11:49 am
Τοποθεσία: Νέα Σμύρνη

Re: mysql και ελληνικά

Δημοσίευσηαπό itsoum » 24.07.13, 11:11 pm

Χρησιμοποιώ στην αρχή του κώδικα μαζί με την σύνδεση(κάνω include ένα αρχείο .php κάθε φορά)
την mysqli_set_charset($mysqli, "utf8") και οι εγγραφές που έχω κάνει στα ελληνικά μέσο του Phpmyadmin παρουσιάζονται κανονικά.

Τώρα θέλω να δώ όταν θα εισάγω ελληνικά κείμενα από την φόρμα εισαγωγής θα μπαίνουν ελληνικά στην mysql με αυτή την εντολή ή δεν θα αρκεί. Γιατί μέχρι τώρα μπαίναν αλαμπουρνέζικά όταν τα έβαζα από φόρμα αλλά παρουσιάζονταν κανονικά στο broswer όταν έτρεχα τη σελίδα.

Ως λύση είναι ορθή;

http://php.net/manual/en/mysqli.set-charset.php
"Ένας ανόητος δεν βλέπει το ίδιο δένδρο που βλέπει ένας σοφός."
William Blake

Εξοπλισμός: canon 5d | 28mm f/1.8 usm | 50mm f/1.8 || canon s95
Πωλούνται: pentax z-50p
itsoum
Member
 
Posts: 156
Εγγραφή: 21.05.09, 11:49 am
Τοποθεσία: Νέα Σμύρνη

Re: mysql και ελληνικά

Δημοσίευσηαπό notis » 25.07.13, 8:27 am

Το αρχείο σου το έκανα import σε δική μου βάση και παίζει μια χαρά στα ελληνικά.
Φρόντιζε μετά την σύνδεση με την βάση να τρέχεις το query "SET NAMES 'utf8'"
Άβαταρ μέλους
notis
Master Admin
 
Posts: 3697
Εγγραφή: 23.02.04, 1:36 pm
Τοποθεσία: Corinth

Re: mysql και ελληνικά

Δημοσίευσηαπό itsoum » 25.07.13, 10:44 am

Νότη χρησιμοποιώ κυρίως την Mysqli.
Η αντίστοιχη της Mysql που λες είναι κάτι τέτοιο:

mysqli_query($link, "SET NAMES 'UTF-8'");

Είναι το ίδιο με αυτό

mysqli_set_charset($link, "utf8")?
"Ένας ανόητος δεν βλέπει το ίδιο δένδρο που βλέπει ένας σοφός."
William Blake

Εξοπλισμός: canon 5d | 28mm f/1.8 usm | 50mm f/1.8 || canon s95
Πωλούνται: pentax z-50p
itsoum
Member
 
Posts: 156
Εγγραφή: 21.05.09, 11:49 am
Τοποθεσία: Νέα Σμύρνη

Re: mysql και ελληνικά

Δημοσίευσηαπό itsoum » 25.07.13, 11:04 am

Τελικά και οι δύο εντολές δουλεύουν κανονικά εισάγοντας τα στοιχεια από φόρμα είτε από Phpmyadmin τα βλέπω ελληνικά εκεί και επιστρέφονται και ελληνικά στη σελίδα.
"Ένας ανόητος δεν βλέπει το ίδιο δένδρο που βλέπει ένας σοφός."
William Blake

Εξοπλισμός: canon 5d | 28mm f/1.8 usm | 50mm f/1.8 || canon s95
Πωλούνται: pentax z-50p
itsoum
Member
 
Posts: 156
Εγγραφή: 21.05.09, 11:49 am
Τοποθεσία: Νέα Σμύρνη

Re: mysql και ελληνικά

Δημοσίευσηαπό notis » 25.07.13, 12:04 pm

Οπότε προχώρα κανονικά :)
Άβαταρ μέλους
notis
Master Admin
 
Posts: 3697
Εγγραφή: 23.02.04, 1:36 pm
Τοποθεσία: Corinth

Re: mysql και ελληνικά

Δημοσίευσηαπό johnys78 » 18.07.17, 1:39 pm

Καλό μεσημέρι.

Για να μην ανοίγω νέο θέμα. Χρησιμοποιώ το MySQL Query Browser. Στην SQL Query Area δεν μπορώ να γράψω σε μια εντολή sql ελληνικά. Πως μπορώ να το διορθώσω αυτό? Στους πίνακες της βάσης δεν έχω πρόβλημα. Εκεί το βρήκα.
johnys78
Member
 
Posts: 1
Εγγραφή: 18.07.17, 1:08 pm


Επιστροφή στο II.III Προγραμματισμός + Τεχνολογία ανοιχτού κώδικα

Μέλη σε σύνδεση

Μέλη σε αυτή την Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 2 επισκέπτες

Visual Communication Designers Club

Το Visual Communication Designers Club, το μεγαλύτερο Ελληνικό online design forum, αποτελεί μια Ελληνική κοινότητα σχεδιαστών οπτικής επικοινωνίας, υπό την ευρύτερη έννοια του όρου, θέλοντας να συμπεριλάβει στα μέλη της κάθε ειδικότητα και βαθμίδα όσων σπουδάζουν ή εργάζονται στον χώρο της επικοινωνίας, έντυπης, διαδικτυακής, τρισδιάστατης ή εφαρμογών πολυμέσων