Εισαγωγή ελληνικών χαρακτήρων από html form σε mysql - php - phpmyadmin!

anargi | Πέμ, 09/22/2011 - 18:20 | 3' | 2

Γεια και χαρά σε όλους.

Αντιμετωπίζω ένα προβληματάκι και θα ήθελα την βοήθειά σας.

Έχω φτιάξει μία φόρμα σε html με κάποια πεδία στα οποία μπορεί ο χρήστης να γράψει κάποια στοιχεία πχ(όνομα,επίθετο..κ.τ.λ).
Τα δεδομένα που πληκτρολογεί ο χρήστης στα κενά πεδία της φόρμας στέλνονται μέσω της mysql - php  στη phpmyadmin.

Μέχρι εδώ όλα καλά.

Τα ονόματα μέσα στην html form και μέσα στην mysql - php είναι αγγλικά.

Το ένα πρόβλημα που δημιουργείται όχι τόσο σοβαρό σε αντίθεση με το άλλο είναι ότι θα ήθελα τα ονομάτα και της html form αλλά και της βάσης δεδομένων δηλαδή τα πεδία των πινακων να είναι ελληνικά.

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

Όταν αλλάζω όλα τα ονομάτα σε ελληνικά μου βγάζει error η βάση κατά την αποστολή των στοιχείων στην phpmyadmin.

Με αγγλικά ονόματα δουλεύει όμως σωστά.

Γι αυτό το πρόβλημα  βρήκα μία ενναλακτική, σε περίπτωση που δεν υπάρχει τρόπος να το αλλάξω(δηλαδή να βάλω ελληνικά ονόματα) να προσθέσω στα πεδία της phpmyadmin σχόλια ελληνικά(τα ονόματα των πεδίων στα ελληνικά) μίας και υπάρχει αυτό το πεδίο στην phpmyadmin.

Αν υπάρχει βέβαια τρόπος να τα βάλω όλα στα ελληνικά, ονόματα της html και της php - mysql θα το προτιμούσα.

Το δεύτερο και σοβαρότερο πρόβλημα που προκύπτει είναι ότι όταν o επισκέπτης πληκτρολογεί ελληνικούς χαρακτήρες και πατάει αποστολή στην phpmyadmin οι εγγραφές αυτές βγαίνουν αρλαμπουνέζικα.

Έχω τσεκάρει το collation σε utf8_general_ci  και στην βάση και στο πίνακα και στα πεδία στην phpmyadmin αλλά δεν έγινε τίποτα.

Εννοείται ότι όταν γράφει αγγλικούς χαρακτήρες οι εγγραφές από την phpmyadmin φαίνονται κανονικά.

Υπάρχει τρόπος να φτιάξω κυρίως το δεύτερο πρόβλημα,αλλά και το πρώτο;

Ευχαριστώ!


Δώσε αστέρια!
Σχόλια

Δεν αρκεί μόνο το collation στη βάση να είναι utf8_general_ci πρέπει να έχεις δηλώσει σωστά και το character set
μέσα στο head του αρχείου php. Για περισσότερες πληροφορίες διάβασε κι αυτό το πολύ κατατοπιστικό άθρο.

Σε ευχαριστώ πολύ Προκόπη,το διάβασα το άρθρο είναι πολύ κατατοπιστικό.Το έφτιαξα ήδη και δουλεύει.