2017-05-18 2 views
0

Verwendung von SQL Server 2012 Management Studio, mit dem folgenden Befehl die Daten einfügen, aber ändern/wandeln die „“ zu einem anderen Zeichen, die wie ein Komma aussehen, ist aber nicht (char Code 8128):SQL Server Einsatz Codierung

INSERT INTO [dbo].[MyTable] VALUES(3,'City','Qu,bec') 

versuchte ich das Präfix N, aber es hat nicht funktioniert:

INSERT INTO [dbo].[MyTable] VALUES(3,'City',N'Qu,bec') 

Allerdings, wenn ich die "Edit" Modus of Management Studio verwenden, wird der gute Wert eingefügt.

Der Datentyp der Spalte ist nvarchar (100)

Ich denke, es ist etwas über Encoding zu tun hat, aber ich kann nicht finden, wie man es beheben. In meinem C# -Projekt verwende ich LinqToSql, um die Daten zu extrahieren, und ich schließe mit dem schlechten Zeichen (Zeichencode 8128), wenn die Daten mit dem Befehl anstelle des Modus "Bearbeiten" eingefügt wurden.

Ich würde eine Reparatur und eine kurze Erklärung schätzen. Thx

+0

Was meinst du mit "hat nicht funktioniert"? Haben Sie einen Fehler erhalten? Oder falsche Zeichen in den Daten? Ich habe deinen Code kopiert und ohne erkennbare Probleme eingefügt. –

+0

Kein Fehler, nur das gleiche Ergebnis mit dem falschen Zeichen – Neb

Antwort

0

Wenn Sie diese Werte von Code einfügen möchten, dann würden Sie das N Präfix verwenden, und verwenden Sie die aktuelle Unicode-Zeichen wie folgt:

create table mytable (id int, type varchar(16), name nvarchar(64)) 
insert into mytable values (3,'City',N'Québec') 

select * from mytable 

rextester Demo: http://rextester.com/JUBZS75211

kehrt:

+----+------+--------+ 
| id | type | name | 
+----+------+--------+ 
| 3 | City | Québec | 
+----+------+--------+ 
Verwandte Themen