GlobeXgr Δημοσ. 27 Ιουνίου 2010 Δημοσ. 27 Ιουνίου 2010 Εχω ενα προβλημα με τη mysql τη c#. Εχω φτιαξει ενα site και μεσω αυτου καταχωρω στοιχεια σε ενα πινακα στη βαση....για κάποιο λόγο όμως τα δεδομένα καταχωρούνται σαν '????????'...έχω κάνει καποιες αλλαγές στο encoding αλλα δε δουλεψε τπτ...καμια ιδέα?? Το περιεργο είναι ότι από τον query browser όταν γράφω σε ελληνικά καταχωρούνται κανονικά ενώ από τη φόρμα όχι
_tasos Δημοσ. 27 Ιουνίου 2010 Δημοσ. 27 Ιουνίου 2010 Τα strings στο .net είναι utf=8, οπότε δοκίμασε να βάλεις την database να έχει utf-8. Για κάθε αλλαγή που κάνεις κάνε ελέγχους με νέες εισαγωγές - ενημερώσεις δεδομένων. Το ότι άλλαξες το encoding στη database δεν σημαίνει ότι θα διορθωθούν τα ??????.
bookysmell2004 Δημοσ. 28 Ιουνίου 2010 Δημοσ. 28 Ιουνίου 2010 Γενικά, είναι πράγματα που έχεις παραλείψει να αναφέρεις (λίγος κώδικας θα βοηθούσε στο να απομονώσουμε το πρόβλημα, ίσως καλό θα ήταν να μας πεις και τι εργαλεία χρησιμοποιείς). Βεβαιώσου ότι στο connection string έχεις δηλώσει ρητά ότι πρόκειται για unicode συναλλαγή, πχ CharSet=Unicode. Για την ιστορία να αναφέρω ότι το .NET χειρίζεται τα strings σαν UTF-16 (και μάλιστα little endian αν θυμάμαι καλά) αλλά αυτό δεν έχει καμία σημασία διότι αποτελεί απλά και μόνο έναν τρόπο εσωτερικής αποθήκευσης. Ο connector πρέπει να μετατρέψει το string στο ανάλογο encoding (που έχει δηλωθεί στο connection string) πριν το περάσει από το socket.
GlobeXgr Δημοσ. 28 Ιουνίου 2010 Μέλος Δημοσ. 28 Ιουνίου 2010 Τελικα δούλεψε αυτο που είπες CharSet=Unicode...ευχαριστώ...
bujar Δημοσ. 16 Νοεμβρίου 2010 Δημοσ. 16 Νοεμβρίου 2010 Χρησιμοποιω το workbench για mysql και υπαρχουν εγγραφες στα ελληνικα. Θελω να κανω query για αυτον τον πινακα αλλα δεν δεχεται τα ελληνικα. any ideas???
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.