HaVaNeZoS Δημοσ. 15 Δεκεμβρίου 2014 Δημοσ. 15 Δεκεμβρίου 2014 (επεξεργασμένο) Γειά χαρά παίδες!Εχω το εξής πρόβλημα, γράφω τον παρακάτω κώδικα μέσα σε ένα JSP αρχείο... <% request.setCharacterEncoding("UTF-8"); String res = request.getParameter("test"); %> <sql:query var="result" dataSource="${connection}"> SELECT * FROM table WHERE var="<%=res %> </sql:query> Τα προβλήματα που έχω λοιπόν είναι 2: 1)Οταν το String res έχει κάποια λέξη στα Αγγλικά γραμμένη π.χ. test δουλεύει άψογα και το βρίσκει σωστά, όταν όμως είναι γραμμένη στα Ελληνικά π.χ. τεστ παρα του οτι υπάρχει μέσα στοιχείο με το όνομα "τεστ" δε μου το εμφανίζει... 2)Γνωρίζει κανείς κάποιον τρόπο ώστε οταν το SELECT δεν βρίσκει αποτέλεσμα να δίνει NULL τιμή στο var="result" ? P.S. : Για να σας γλυτώσω απο κόπο και το <@page ...> έχω charset και το pageEncoding me UTF-8 αλλά και στο <meta...> charset με UTF-8 , Collation της βάσης και όλων των tables είναι utf8 general ci...καμιά ιδέα τι μπορεί να φταίει...? Επεξ/σία 15 Δεκεμβρίου 2014 από HaVaNeZoS
nucleus Δημοσ. 15 Δεκεμβρίου 2014 Δημοσ. 15 Δεκεμβρίου 2014 SQL Query με συνένωση strings βλέπω. Προτρέπω να χρησιμοποιήσεις prepared statements ή το ανάλογο τους για το DBMS που χρησιμοποιείς για να κάνεις το query. Επίσης έβαλες UTF-8 παντού αλλά δεν είπες κάτι για το collation της βάσης.Δοκίμασε να εκτελέσεις το query με ελληνικά κατευθείαν πάνω στην βάση.Φέρνει αποτελέσματα? Για το 2. Αν και δεν αναφέρεις ποιο DBMS χρησιμοποιείς θα μπορούσες να το κάνεις με stored procedures ή το ανάλογο τους για το DBMS που χρησιμοποιείς. Αν δεν θες μπορείς πάντα να το ελέγξεις και στο jsp.
HaVaNeZoS Δημοσ. 15 Δεκεμβρίου 2014 Μέλος Δημοσ. 15 Δεκεμβρίου 2014 (επεξεργασμένο) Δοκίμασα με απευθείας Ελληνικά και πάλι δε φέρνει αποτέλεσμα...για τεστάρισμα μάλιστα στη σελίδα αποτελεσμάτων έχω ένα απλό <span> ώστε να τυπώνω εκεί τη μεταβλητή που δίνω στο query και εκεί το εμφανίζει κανονικά ενώ το query δε το δέχεται...Ο έλεγχος που κάνω για null στο jsp με jstl πάλι είναι με το <c:choose> και με <c:when test="$(empty result)">...οταν είναι empty δεν κάνει την ενέργεια που του γράφω απο κάτω ενω αντίθετα οταν έχει κάποιο στοιχείο κ το ελέγχω με not empty στο test δουλεύει μια χαρά... ********************************************************************************************************** Το έλυσα τελικά το πρόβλημα απο τις ρυθμίσεις της MySQL και απο το my.ini που μπορείς να χειριστείς μέσα απο το xampp και απο εκεί βρήκα και άλλαξα το encoding σε UTF-8 και όλα δουλεύουν τέλεια!Ευχαριστώ πολύ για το χρόνο σου nucleus! Επεξ/σία 16 Δεκεμβρίου 2014 από HaVaNeZoS
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα