Drei Fragen mit dem folgenden Szenario:SQL Server-Datenbank mit Latin1-Codepage zeigt japanische Zeichen als "?"
- SQL Server 2005 die Produktion db mit einem Latin1 Zeichensatz und zeigt "?" für ungültige Zeichen in Management Studio.
- SomeCompanyApp-Client als Dienst, der die Daten von Servern und Arbeitsstationen ausfüllt.
- SomeCompanyApp-Verwaltungskonsole, die "?" für asiatische Charaktere.
Da dies eine Prod db ist, werde ich nicht darauf schreiben.
Ich weiß nicht, ob die Client-App, die die Daten in der Datenbank speichert, sie tatsächlich korrekt als Unicode speichert, und sie wird einfach nicht angezeigt, weil sie Latin1 für die Konsole verwenden.
Q1: Wie ich es verstehe, SQL Server speichert nvarchar Text als Unicode unabhängig von der Codepage oder bin ich völlig falsch und wenn die Codepage ist Latein1 dann alles, was nicht in dieser Codepage ist wird konvertiert „?“.
Q2: Ist das bei einer Textspalte dasselbe?
Q3: Gibt es eine Möglichkeit SQL Server Management Studio oder Visual Studio und einige Codes verwenden (egal, welche Sprache :)) die DB abzufragen und mir zeigen, wenn die Zeichen wirklich als Japaner zeigen, Chinesisch, Koreanisch usw.?
Mein Ziel ist es, Daten aus der Datenbank zu extrahieren und in einer anderen Datenbank mit UTF-8 zu speichern, um japanische und andere asiatische Zeichen in meiner eigenen Client-Webanwendung anzuzeigen. Ich werde mich mit einer Antwort auf Q3 zufrieden geben. Ich kann in mehreren Sprachen programmieren und zumindest einige andere verstehen, aber ich bin einfach nicht genug über Unicode informiert. Wenn Sie wissen wollen, dass meine Webanwendung pyodbc und cassandra verwendet, ist das für diese Fragen egal.
Mein Verständnis von Nvarchar ist auch auf Ihren Linien. Können Sie in Management Studio die Anweisung 'insert' direkt verwenden und japanische Zeichen in diesen Spalten speichern? –
Produktion db, ich möchte nichts tun, aber davon lesen.Außerdem, da nvarchar pro vorherige Antwort die Unicode-Information speichert, hängt es davon ab, was die Anwendung, die darauf schreibt, damit macht. – Marlon