Loots_A_Loot Δημοσ. 6 Δεκεμβρίου 2004 Δημοσ. 6 Δεκεμβρίου 2004 Έχω ένα πρόβλημα με MySQL και asp scripting. Συγκεκριμένα, δεν μπορώ να κάνω order τα δεδομένα τα οποία ειναι αποθηκευμένα με ελληνικούς χαρακτήρες. Έχει συναντήσει κανείς το ίδιο πρόβλημα;
Gigenis Δημοσ. 6 Δεκεμβρίου 2004 Δημοσ. 6 Δεκεμβρίου 2004 Καλησπέρα φίλε. Αν εννοείς ότι δεν σου τα εμφανίζει με σωστή ταξινόμηση, είναι γιατί η βάση σου έχει ως default character set τα αγγλικά. Αν έχεις τη βάση σε windows τότε βρες το my.ini και πρόσθεσε το εξής: default-character-set=greek. Αν έχεις Linux, λυπάμαι δεν έχω ιδέα. Αν ο server δεν είναι δικός σου και δεν μπορείς να παρέμβεις, τότε το μόνο που μπορώ να σου προτείνω (αυτό κάνω εγώ) είναι να προσθέσεις το χαρακτηριστικό Binary στο πεδίο που θέλεις να κάνεις ταξινόμηση. Δεν ξέρω αν υπάρχει κι άλλος τρόπος. Αν υπάρχει θα ήθελα να τον μάθω κι εγώ. Υ.Γ. Εφόσον χρησιμοποιείς MySQL ίσως θα ήταν καλύτερα φύγεις από ASP και να πας σε PHP.
Loots_A_Loot Δημοσ. 6 Δεκεμβρίου 2004 Μέλος Δημοσ. 6 Δεκεμβρίου 2004 Καλησπέρα, το έχω δοκιμάση με binary αλλά κάνει μισή δουλειά. Πχ ας υποθέσουμε ότι έχουμε τα εξής records: Α Β Δ Γ Ά Έ Στην εμφάνιση κάνει το εξής: Ά Έ Α Β Γ Δ Πάντως, όσον αφορά το υστερόγραφο, δεν πιστεύω ότι ειναι δυνατό έναυσμα το order για να φύγει κάποιος από asp
random Δημοσ. 6 Δεκεμβρίου 2004 Δημοσ. 6 Δεκεμβρίου 2004 Aυτο που περιγραφεις με τα τονισμενα Ελληνικά, δεν ειναι ακριβως πρόβλημα, ειναι η φυσιολογικη συμπεριφορά. το "α" και το "ά" ειναι διαφορετική χαρακτήρες , δεν ειναι ο "ίδιος με τόνο". έχουν διαφορετικό ascii value απο πίσω (225 και 220) , και προφανως θα βγαινουν σε άλλη σειρά. οπως δεν βγαινει μαζι το α και το Α (greek), kai a, A (latin). πρέπει να ενεργοποιησεις (αν υπάρχει) καποια δυνατοτητα της database να κανει sort με κριτηρια "γλωσσολογικά", ασ πουμε, και οχι με ASCII που κανουν ολες by default. δεν ξερω αν γινεται αυτο στη mysql, μερικοί προτίνουν -σαν προχειρη λυση, δεν ειναι τέλειο - το SELECT NAME FROM NAMESTABLE ORDER BY lower(NAME); (αν ο πινακας ειναι τεραστιος, φτιαχνεις ενα index based on lowe(name) γιατι θα επιβραδυνθεί πολυ το select , σε σχεση με το απλο order by name) και σου βγαίνει με τη σειρά το άκης, Άκης, ακης, Ακης,... *δεν ξερω αν λεγετε ετσι στη mysql η function lower() ή to_lower() , αλλα σιγουρα εχει κατι τέτοιο. http://theory.uwinnipeg.ca/mysql/manual_Charset.html http://www.dbazine.com/gulutzan1.shtml λεξεις για αναζητηση : (η βαση μου : mysql) + sort Collation linguistic sorting greek
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.