Φωτογραφία Δημήτριος Παπαδόπουλος
Ελληνικά?
από Δημήτριος Παπαδόπουλος - Sunday, 1 February 2009, 11:00 PM
 

Τώρα με την db αρχίζει να έχει ιδιαίτερο ενδιαφέρον το σεμινάριο!!

Ολοκλήρωσα την πρώτη άσκηση με null password αφου δεν το καθόρισα. Όλα φαίνονται να λειτουργούν σωστά αλλά δεν εισάγει ελληνικά ονόματα. Δοκίμασα Collation: greek_bin και greek_general_ci αλλά αυτό επιμένει να εμφανίζει ??????? εκεί που γράφω ελληνικά π.χ. στο όνομα ή στο επώνυμο. Τι λάθος κάνω?

 
Φωτογραφία Στέλιος Μερσινάς
Απάντηση: Ελληνικά?
από Στέλιος Μερσινάς - Monday, 2 February 2009, 12:45 PM
 
Ωραία :-)

Σε αυτήν την περίπτωση υπάρχουν 2 πράγματα που πρέπει να κοιτάξεις:
- Η κωδικοποίηση της σελίδας που περιέχει την φόρμα
- Ότι πριν κάνεις query στην DB θα πρέπει να χρησιμοποιείσεις ένα ειδικό query το οποίο 'ενημερώνει' την DB ότι θα χρησιμοποιήσεις ελληνικούς χαρακτήρες.

Κάνε μια αναζήτηση στο forum και πιστεύω ότι θα βρείς τις απαντήσεις σου.

Φωτογραφία Δημήτριος Παπαδόπουλος
Απάντηση: Ελληνικά?
από Δημήτριος Παπαδόπουλος - Monday, 2 February 2009, 6:18 PM
 

Πράγματι διαπίστωσα ότι υπάρχει συζήτηση για το θέμα (http://laplace.medialab.ntua.gr/ecampus/mod/forum/discuss.php?d=8520)   αλλά η κατάληξη ήταν όχι ικανοποιητική καθότι καταλήγεις: "Θεωρώ καλύτερο να τα αφήσουμε τα ελληνικά...."

Την εισαγωγή την κάνω από web form. Τα περιεχόμενα του πίνακα τα ελέγχω με το phpmyadmin. Στα πεδία των εγγραφών βλέπω ερωτηματικά (????????).

Δοκίμασα να κάνω και export σε word. Στο αρχείο, όπου υπήρχαν ελληνικά εμφανίζονταν ως ερωτηματικά ???????.

Δοκίμασα και διαφορετικά encoding εμφάνισης των σελίδων (φόρμας και phpmyadmin), πάλι κανένα ικανοποιητικό αποτέλεσμα. Δοκίμασα και firefox.... τίποτα.

Το ειδικό query που αναφέρεις δεν το βρήκα. Η ρύθμιση Collation μέσα από το phpmyadmin για τη βάση και για τους πίνακες δεν αρκεί?

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

Ευχαριστώ, και ζητώ συγγνώμη για την ταλαιπωρία.

 

Φωτογραφία Στέλιος Μερσινάς
Απάντηση: Ελληνικά?
από Στέλιος Μερσινάς - Tuesday, 3 February 2009, 9:31 AM
 
Δημήτρη,
είναι λογικό ότι και στις δικές σου εφαρμογές θα θέλεις να χρησιμοποιήσεις τους ελληνικούς χαρακτήρες. Πλέον στην διασύνδεση της db με την ΡΗΡ υπάρχει ένα επιπλέον βήμα που πρέπει να κάνεις αν θέλεις να χρησιμοποιήσεις ελληνικούςχαρακτήρες ή UTF8. Θα πρέπει να 'πεις' στην mySQL κατά την αποθήκευση και ανάκληση των δεδομένων ότι θα χρησιμοποιείς συγκεκριμένο character set. Μπορείς να δεις περισσότερα εδώ: http://dev.mysql.com/doc/refman/5.1/en/charset.html

Τώρα, για την γρήγορη απάντηση αφού θέλεις να χρησιμοποιήσεις ελληνικούς χαρακτήρες, θα πρέπει να εκτελέσεις 2 επιπλέον queries στην db πριν την αποθήκευση/ανάκληση δεδομένων:

set character set greek
SET NAMES greek

Μην ξεχνάς βέβαια, ότι και η HTML σελίδα θα πρέπει να έχει το σωστό encoding, δηλαδή να περιεχει την γραμμή στο <head>:
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-7" />

Δημήτρη το δοκιμάζεις και μου λες αν είχες κάποιο πρόβλημα.

Φωτογραφία Δημήτριος Παπαδόπουλος
Απάντηση: Ελληνικά?
από Δημήτριος Παπαδόπουλος - Monday, 9 February 2009, 10:08 PM
 
Δυστυχώς μόλις χθες προσπάθησα να ασχοληθώ. Πέρασε η εβδομάδα και δεν πρόλαβα να κάνω τίποτα. Μόλις τελείωσα και την δεύτερη άσκηση και λειτουργεί σωστά. Αλλά η αναζήτηση είναι case sensitive και φυσικά χωρίς ελληνικά γιατί παρόλο που πρόσθεσα τις εντολές που μου έγραψες (στο head της φόρμας και μετά το connect και το select και πριν από το query στο script καταχώρησης τιμών στη βάση) δεν κατάφερα να εισάγω ελληνικά στη βάση. Τα ελληνικά γράμματα μέσα στο phpmyadmin φαίνονται ερωτηματικα ?????????? . mixed 
Φωτογραφία Γεώργιος Μπούσιος
Απάντηση: Ελληνικά?
από Γεώργιος Μπούσιος - Tuesday, 10 February 2009, 8:48 AM
 

Δημήτρη καλημέρα,
δοκίμασε αυτό:
mysql_query("SET NAMES 'utf8'");

σε μένα δούλεψε!

Καλή συνέχεια.

Φωτογραφία Δημήτριος Παπαδόπουλος
Απάντηση: Ελληνικά?
από Δημήτριος Παπαδόπουλος - Tuesday, 10 February 2009, 8:36 PM
 

Ευχαριστώ, Δημήτρη.

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

Περιμένω με αγωνία το feedback της εργασίας.

Φωτογραφία Δημήτριος Παπαδόπουλος
Απάντηση: Ελληνικά?
από Δημήτριος Παπαδόπουλος - Tuesday, 10 February 2009, 8:37 PM
 

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

Περιμένω με αγωνία το feedback της εργασίας.

Φωτογραφία Στέλιος Μερσινάς
Απάντηση: Ελληνικά?
από Στέλιος Μερσινάς - Wednesday, 11 February 2009, 9:16 AM
 
Αυτό είναι μια μεγάλη αλήθεια Δημήτρη.
Πολλές φορές προσπαθώ να βρώ το λάθος σε  scripts και δεν μπορώ να ξεχωρίσω από την κούραση το κόμμα από την τελεία.