Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Πρόβλημα με Ελληνικά σε SQL

Îåêßíçóå áðü ôï ìÝëïò dimoss. Τελευταία δημοσίευση από το μέλος dimoss στις 28-11-2007, 21:54. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  28-11-2007, 15:10 37810

    Πρόβλημα με Ελληνικά σε SQL

    Γεια σας,

    Το site μου φιλοξενείται σε server του εξωτερικού στον οποίο έχω και μια SQL db με collation latin.
    Στη βάση έχω έναν πίνακα στον οποίο έχω αλλάξει το collation σε Greek_CI_AS σε όλες τις στήλες που αποθηκεύω ελληνικά.
    Το datatype αυτών των στηλών είναι είτε nvarchar είτε ntext.

    Μέσω web form προσπαθώ να εισάγω στον πίνακα ελληνικό κείμενο και δεν λειτουργεί σωστά γιατί το αποτέλεσμα φαίνεται σαν "?????"
    Τo codepage της σελίδας της φόρμας εισγωγής όσο και των υπολοίπων είναι
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="28597"%>
    <%Response.Charset = "iso-8859-7"%>

    Το μηχανημά μου χρησιμοποιώ XP Αγγλικά με Αγγλικό Firefox ή Explorer.

    Τι πρόβλημα υπάρχει και δεν μπορώ ο SQL να αποθηκεύσει το ελληνικό κείμενο όπως πρέπει?

    Ευχαριστώ προκαταβολικά.

    Δημοσθένης

    Δημοσίευση στην κατηγορία:
  •  28-11-2007, 17:32 37811 σε απάντηση της 37810

    Απ: Πρόβλημα με Ελληνικά σε SQL

    Το πρόβλημα δεν είναι στον πίνακα. Αφού χρησιμοποιείς nvarchar/ntext το collaction δεν παίζει ρόλο σε αυτό το θέμα.

    Υπάρχει μια αλυσίδα πραγμάτων που χειρίζονται το κείμενο μέχρι να φτάσει εκεί: browser->asp.net application->ado.net->sql server.

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

    edited: Επίσης, είσαι σίγουρος ότι η αποθήκευση γίνεται λάθος; Μήπως γίνεται σωστά, αλλά δεν εμφανίζεις σωστά μετά το αποτέλεσμα;
     


    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  28-11-2007, 20:56 37815 σε απάντηση της 37810

    Απ: Πρόβλημα με Ελληνικά σε SQL

    Οι ερωτήσεις για τα ελληνικά στον SQL Server ή σε ASP.NET σελίδες πρέπει να είναι οι πιο συχνές στο DotNetZone. Αν κάνεις μία αναζήτηση θα βρεις πολλές απαντήσεις, αν και όλες καταλήγουν σε αυτό που σου είπε και ο Δημήτρης: Αν χρησιμοποιείς nvarchar ή ntext δεν έχεις πρόβλημα. Το πρόβλημα δημιουργείται επειδή έχεις "καρφώσει" τα codepages στην ASP σελίδα σου. Για ένα διάστημα, οι ερωτήσεις αυτές επαναλαμβάνονταν τόσο συχνά που έγραψα και ένα σχετικό blog post, Ο Sql Server ΔΕΝ ΧΡΕΙΑΖΕΤΑΙ κόλπα για να υποστηρίξει τα ελληνικά!

    Αν χρησιμοποιείς παντού Unicode, δεν έχεις κανένα πρόβλημα. Παντού σημαίνει ότι σώζεις τη σελίδα ASPX σε Unicode, αφήνεις το codepage της σελίδας σε Unicode (άντε, UTF-8) και χρησιμοποιείς nvarchar πεδία. Τα ????? εμφανίζονται όταν για κάποιο λόγο το ελληνικό κείμενο γράφτηκε με ένα codepage και διαβάστηκε με άλλο, στο οποίο δεν μπορούσαν να αντιστοιχιστούν οι ελληνικοί χαρακτήρες.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  28-11-2007, 21:54 37818 σε απάντηση της 37815

    Απ: Πρόβλημα με Ελληνικά σε SQL

    Παναγιώτης Καναβός:

    Οι ερωτήσεις για τα ελληνικά στον SQL Server ή σε ASP.NET σελίδες πρέπει να είναι οι πιο συχνές στο DotNetZone. Αν κάνεις μία αναζήτηση θα βρεις πολλές απαντήσεις, αν και όλες καταλήγουν σε αυτό που σου είπε και ο Δημήτρης: Αν χρησιμοποιείς nvarchar ή ntext δεν έχεις πρόβλημα. Το πρόβλημα δημιουργείται επειδή έχεις "καρφώσει" τα codepages στην ASP σελίδα σου. Για ένα διάστημα, οι ερωτήσεις αυτές επαναλαμβάνονταν τόσο συχνά που έγραψα και ένα σχετικό blog post, Ο Sql Server ΔΕΝ ΧΡΕΙΑΖΕΤΑΙ κόλπα για να υποστηρίξει τα ελληνικά!

    Αν χρησιμοποιείς παντού Unicode, δεν έχεις κανένα πρόβλημα. Παντού σημαίνει ότι σώζεις τη σελίδα ASPX σε Unicode, αφήνεις το codepage της σελίδας σε Unicode (άντε, UTF-8) και χρησιμοποιείς nvarchar πεδία. Τα ????? εμφανίζονται όταν για κάποιο λόγο το ελληνικό κείμενο γράφτηκε με ένα codepage και διαβάστηκε με άλλο, στο οποίο δεν μπορούσαν να αντιστοιχιστούν οι ελληνικοί χαρακτήρες.

    Ευχαριστώ Παναγιώτη. Τελικά είχες δίκιο για τα καρφωτά codepages. Τα έβγαλα τελείως και από τις 2 σελίδες και το πρόβλημα λύθηκε!

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems