2016-03-23 8 views
0

Ich habe Name Spalte in der Tabelle verwendet. In dieser Spalte habe ich varchar für den Datentyp in sql verwendet. Ich habe Abfrage wie andere Sprachen außer Englisch aktualisiert, aber sql speicherte diese Zeichen als "?". Beispiel:Was sind Zeichen nicht unterstützt in SQL Char und Varchar-Datentyp

Tabelle: student

Spalte: Name (varchar (50)), ID-Nummer

query: update student set name='தமிழ்' where id=10;

am: ?????

Bitte sagen Sie, wie es vermeiden kann. Und bitte sagen, was die Zeichen SQL-Datentyp varchar Speicher sind wie ??

+4

Ich würde sagen, dass ganz auf die Datenbank-Zeichensatz-Konfiguration abhängig ist. – Nyerguds

+0

@Nyerguds, es ist teilweise wahr. Dies hängt vom Datentyp ab, der zum Speichern von Daten verwendet wird. Bitte, siehe meine Antwort. –

+0

Es wurde jedoch keine Information über den Zugriff auf die DB gegeben. Viele DB-Zugriffssysteme ermitteln den Typ automatisch, wenn Sie tatsächlich Parameterobjekte verwenden. Was immer getan werden sollte, um Probleme der Art "Little Bobby Tables" zu vermeiden. https://xkcd.com/327/ – Nyerguds

Antwort

2

der Lage sein, den Sie speichern Text in Ihrer Sprache haben nchar oder nvarchar Datentyp zu verwenden, die UNICODE unterstützen.

See: nchar and nvarchar (Transact-SQL)

Vergessen Sie nicht die richtige Sortierung zu verwenden.

See: Collation and Unicode Support

also eine Spalte name (varchar(50)) sollte name (nvarchar(50)) sein, dann

UPDATE Student SET [Name] = N'NameInHindi' WHERE ID =10; 
+0

Danke Los für Ihren gültigen Vorschlag. Ich hab es geschafft. –

Verwandte Themen