2011-01-17 11 views
1

Ich verwende eine Batch-Datei zum Ausführen von sqlcmd (Sql Server 2008), die wiederum verschiedene SQL-Skripts ausführen. Die SQL-Skripte fügen asiatische und englische Zeichen in eine Datenbank ein. Das Problem, das ich habe ist, dass die asiatischen Zeichen verstümmelt kommen (während die Engländer in Ordnung kommen.) Wenn ich manuell die chinesischen Schriftzeichen scripte laufen sie gut. Weiß jemand, wie man dieses Problem umgehen kann?Verwenden von Batch-Datei zum Ausführen von Skripts mit chinesischen Schriftzeichen führt zu verstümmelten Text

Antwort

0

Wie genau verwenden Sie die Dateien? Wenn Sie derzeit

tun
sqlcmd ... < input.sql 

dann erwägen, entweder die Schriftart des Konsolenfensters zu einer Truetype-Schriftart zu ändern oder das ändert in

sqlcmd ... -i input.sql 

Ich denke, die Zeichen bei der Weiterleitung in einer Konsole verstümmelten erhalten, die nur Unterstützung der OEM-Zeichensatz.

0

Dies ist wahrscheinlich zu spät, um Ihr Problem zu lösen, aber ich stieß auf ein ähnliches Problem. Die Lösung war für mich eine explizite Codepage zu liefern über die ‚-f‘ Kommandozeilenparameter sqlcmd:

sqlcmd ... -i input.sql -f 65001 

65001 die Codepage für UTF-8 ist. Sie wird die Datei vornehmen müssen, dass mit dieser Codepage tatsächlich gespeichert wird, die Sie in Visual Studio tun können: (. Zitat aus einem blog post comment, die mir genügend Informationen gab die Lösung Stück zusammen)

Try this: 
1. Open your file in Visual Studio. 
2. From the File menu, choose Advanced Save Options. 
3. Select this encoding: 

Unicode (UTF-8 without signature) – Codepage 65001 

4. Save the file. 

Verwandte Themen