2010-05-21 9 views
20

Wie kann ich arabische Zeichen in die SQL-Datenbank einfügen? Ich habe versucht, arabische Daten in eine Tabelle einzufügen und die arabischen Zeichen im Einfügeskript wurden als '??????' in die Tabelle eingefügt.Wie fügt man arabische Zeichen in die SQL-Datenbank ein?

Ich habe versucht, die Daten direkt in die Tabelle über SQL Management Studio einfügen und die arabischen Zeichen wurde erfolgreich und genau eingefügt.

Ich suchte nach Lösungen für diese Probleme und einige Threads vorgeschlagen, den Datentyp zu nvarchar statt varchar zu ändern. Ich habe das auch versucht, aber ohne Glück.

Wie können wir arabische Zeichen in SQL-Datenbank einfügen?

+0

Wie wissen Sie es nicht taten Arbeit? Vielleicht kann Ihr Abfrageprogramm keine Unicode-Zeichen ausgeben. Welches Programm zeigt das "????"? Woher weißt du, dass es Unicode richtig anzeigen kann? –

+0

Wenn ich im SQL Management Studio die Zeile abfrage, wird als '????' angezeigt und das gleiche spiegelt sich in meinem Programm wider. – pavanred

Antwort

40

Damit das Feld Unicode-Zeichen speichern kann, müssen Sie den Typ nvarchar (oder einen ähnlichen Wert wie ntext, nchar) verwenden.

Um die Unicode-Zeichen in die Datenbank einzufügen, müssen Sie den Text als Unicode senden, indem Sie einen Parametertyp wie nvarchar/SqlDbType.NVarChar verwenden.

(Der Vollständigkeit halber: Wenn Sie SQL dynamischen Erstellung werden (gegen gemeinsame Beratung), setzen Sie ein N vor einem Stringliteral es Unicode zu machen. Zum Beispiel:. insert into table (name) values (N'Pavan'))

+0

+1 für das Beispiel. Danke Guffa. Es gab einen weiteren Thread, der vorschlug, 'N' voranzukommen. Aber ich wusste nicht genau, wo genau ich es machen sollte. – pavanred

+1

+1 für Ihre Vollständigkeit, sehr informativ. –

+0

+1 für 'SqlDbType.NVarChar' –

Verwandte Themen