2010-12-27 10 views
1

Ich entwickle eine Windows-Anwendung, die Daten aus einer MS Excel-Datei einfügen müssen, die eine Menge Daten in zwei verschiedenen Sprachen, Englisch und Hindi enthält. Ich bin in der Lage, die englischen Daten leicht zu importieren, aber beim Importieren der Hindi-Daten wurde es in einen englischen Text konvertiert.Hindi Daten in SQL Server 2005 Datenbank

Ich benutze NVARCHAR als Datentyp für alle meine Felder. Arial Font für Englisch und SHUSHA Font für Hindi-Sprache. In Excel werden die Daten korrekt angezeigt. Aber in SSMS und meinem Applicaton werden die Hindi-Daten als einige englische Zeichen gezeigt.

Bitte helfen!

+0

Wie importieren Sie die Daten? Excel speichert Zelleninhalte als Unicode, aber einige Sprachen, so zum Beispiel Classic ASP, behandeln Unicode nicht korrekt? – Sparky

+0

Ich verwende OleDbDataReader, um Daten aus der Excel-Datei zu erhalten. Dann füllen Sie die SQL-Tabelle Zeile weise. – macsys

Antwort

1

NVARCHAR ist definitiv in der Lage, Hindi-Unicode-Zeichen zu speichern. Es muss etwas mit Ihrem SQL-Einfügecode nicht stimmen, d. H. Sie verwenden möglicherweise eine SqlParameter mit dem Datentyp SqlDbType.VarChar, wenn Sie einfügen. Die Veröffentlichung dieses Codes würde klären.

+0

Ich lese Daten von Excel mit OleDbDataReader. dann Daten in jedes Feld in verschiedenen Variablen setzen und den Datensatz in SQL-Tabelle mit diesen Variablen einfügen. – macsys

+0

Ich habe es, ich muss Präfix N vor jeder Daten, die ich in die Tabellen einfügen muss. Aber wieder bekomme ich ein seltsames Problem. Auf Windows 7 Maschine sowohl SSMS und Meine Anwendung zeigt die Hindi-Daten im richtigen Format. Aber wenn ich Win XP benutze, werden nur Boxen anstelle von Hinid-Daten angezeigt. Können Sie helfen? – macsys

+0

Was ist, wenn Sie "Ergebnisse zu Text" in SSMS versuchen? Ich habe festgestellt, dass dies für die Anzeige von Unicode-Zeichen zuverlässiger ist. Nicht sicher warum. Vielleicht verwendet es eine andere Schriftart? –