Page 1 of 1

Ελληνικά στην .jsp

Posted: Mon Jul 10, 2006 8:44 pm
by adam98
Όταν από τον πίνακα μιας βάσης παίρνω ένα string πεδιο πχ name το οποιό έχει τιμή σε ελληνικούς χαρακτήρες ,δεν μπορώ να το εμφανίσω στην οθόνη σωστά (βγαίνει ώς ???).Τα html ελληνικά πχ στις φορμές κτλ βγαίνουν σωστά άρα δεν πρέπει να είναι το encoding της σελίδας που εμφανίζει o browser. Όταν από την φόρμα παιρνω ελληνικές τιμές μπαίνουν σωστά στην βάση γιατί την ανοίγω με το phpmyadmin και τα ελληνικά που γράφω βγαίνουν σωστά, όπως και όταν χρησιμοποιώ .php κώδικα σε αντίστοιχα αρχεία. Έχει κάποιο κόλλημα ο apache tomcat και τα jsp με τα ελληνικά ή εγώ δεν κάνω κάτι καλά. :?:

Posted: Mon Jul 10, 2006 10:00 pm
by silegav
Πρόσφατα, σε μια εφαρμογή που έφτιαξα ταλαιπωρήθηκα πάρα πολύ με τα ελληνικά και το encoding που έπρεπε να χρησιμοποιώ.

Αν την εφαρμογή σου την φτιάχνεις σε netbeans και
χρησιμοποιείς τον Bundled tomcat του Netbeans, χρησιμοποίησε το HTTP Monitor που εμφανίζεται μαζί με το Tomcat Server Output για να δεις τι στέλνεται από την φόρμα και γενικά τι κυκλοφορεί ανάμεσα στις σελίδες που ανοίγεις.

Αν εκεί δεις τα ??? λογικά είναι η σελίδα, αν δεν είναι εκεί ??? και χαλάει μετά, όταν το λύσεις πες μου κι εμένα για να φτιάξω το δικό μου! :-)

Posted: Tue Jul 11, 2006 12:18 am
by Einherjar
Κατ'αρχας τι DBMS χρησιμοποιείς (MySQL/SQL Server/...).
Δεύτερον, παίζει το encoding που χρησιμοποιείς στη βάση σου να είναι διαφορετικό με το encoding που έχεις στην υπόλοιπη σελίδα σου και δε γίνεται να έχεις διαφορετικά encodings στην ίδια σελίδα. Δοκίμασε για την ίδια σελίδα να βάλεις στην αρχή πρώτα το

Code: Select all

<%@page pageEncoding="UTF-8"%>
και στη συνέχεια

Code: Select all

<%@page  pageEncoding="iso-8859-7"%>
Το πρόβλημα υπάρχει και στις 2 περιπτώσεις? (εννοείται ότι στα παραπάνω κομμάτια κώδικα βάζεις και ότι imports χρειάζεσαι)

Posted: Tue Jul 11, 2006 11:41 am
by adam98
Με το πρώτο το unιcode μου βγάζει χαρακτήρες αλλά δεν είναι ελληνικοί
με την δεύτερη μου βγάζει πάλι ??? εχω χρησιμοποιούσα το encoding "windows-1253", και χρησιμοποιώ mysql

Posted: Tue Jul 11, 2006 12:03 pm
by Einherjar
Συχνά το πρόβλημα είναι στον τρόπο που μπαίνουν τα δεδομένα στη βάση. Ξέχασα να στο πω παραπάνω. Τα βάζεις και χερουκλάτα ή μόνο από φόρμα?
Εκεί που επεξεργάζεσαι το request από τη φόρμα (και πριν αρχίσεις την επεξεργασία του) θέσε ρητά το encoding με

Code: Select all

request.setCharacterEncoding("UTF-8");
Στην σελίδα που παίρνεις τα δεδομένα μπρέπει να έχεις το ίδιο encoding μερ τον τρόπο που ανέφερα στο προηγούμενο post μου. Με το phpmyadmin μπορεί να τα δεις κουβάρι αν τα βάλεις με τον συγκεκριμένο τρόπο και ανάλογα με το encoding που έχεις επιλέξει από το πρόγραμμα, αλλά σου εγγυώμαι 95% επιτυχία!
Τώρα δε ξέρω αν κάτι τέτοιο θα παίξει με άλλο encoding εκτός από unicode, αλλά είσαι βέβαια ελεύθερος να παίξεις :)

Posted: Tue Jul 11, 2006 12:47 pm
by adam98
Όχι μόνο από την φόρμα οπότε θα το δοκίμασω και θα δω,όπως πιστεύω ότι θα κάνει και ο παραπάνω φίλος που είχε παρόμοιο πρόβλημα...Σε ευχαριστώ :)

Posted: Tue Jul 11, 2006 2:06 pm
by Einherjar
Ωραία... ενημέρωσε σε κάθε περίπτωση

Posted: Tue Jul 11, 2006 3:00 pm
by adam98
Τελικά δεν κατάφερα να το λύσω δοκίμασα και τα τρια encodings ,το unicode δεν μου έπαιξε καθόλου καλά μου έκανε τα html μηνύματα στην σελίδα και στον τίτλο κουτάκια, σκέφτομαι μήπως φταίει ότι οι φόρμες φτιάχθηκαν με το frontpage(font face="Arial" υπάρχει περίπτωση να είναι αυτό που μου τα χαλάει?)

Posted: Tue Jul 11, 2006 4:32 pm
by Einherjar
Καλά που άφησα το 5% :)
Το πρόβλημα που λες το έχω αντιμετωπίσει με τον τρόπο που ανέφερα, αλλά με SQL Server 2005.
Θεωρώ απίθανο να παίζει ρόλο το font που χρησιμοποιείς.
Το τελευταίο που μπορώ να σκεφτώ είναι το encoding με το οποίο δημιούργησες τη βάση σου. Δες για την έκδοση MySQL server που χρησιμοποιείς πως ορίζεις συγκεκριμένο encoding για τη βάση και... καλή τύχη από μένα ;)

Posted: Tue Jul 11, 2006 5:08 pm
by adam98
Δίκιο πρέπει να έχεις.Τελικά ίσως να φταίει η mysql.Επιπρόσθετα στην εργασιά του Βασσαλού την είχα κάνει με τον sql server 2000 και έχω την εντύπωση ότι εκεί είχα χρησιμοποιήσει ελληνικά χωρίς πρόβλημα,πάντως σε ευχαριστώ για τις ιδέες σου

Posted: Tue Jul 11, 2006 8:04 pm
by Einherjar
Γι'αυτό είμαστε εδώ... :wink: