2010-12-27 4 views
1

Я разрабатываю приложение Windows, которое необходимо вставлять данные из файла MS Excel, который содержит много данных на двух разных языках: английском и хинди. Я могу легко импортировать данные на английском языке, но, импортируя данные хинди, он был преобразован в некоторый текст на английском языке.Данные хинди в базе данных SQL Server 2005

Я использую NVARCHAR как тип данных для всех моих полей. Arial Font for English и шрифт SHUSHA для языка хинди. В Excel данные отображаются правильно. Но в SSMS и моей Applicaton данные хинди показаны как некоторые английские символы.

Просьба помочь!

+0

Как вы импортируете данные? Excel хранит содержимое ячеек как Unicode, но некоторые языки, например, классический ASP, не обрабатывают Unicode правильно? – Sparky

+0

Я использую OleDbDataReader для получения данных из файла excel. затем заполнить таблицу sql-таблицы мудрой. – macsys

ответ

1

NVARCHAR определенно может хранить символы хинди Юникода. Должно быть что-то не так с вашим кодом вставки SQL, возможно, вы используете SqlParameter с типом данных SqlDbType.VarChar при вставке. Проводка этого кода будет уточняться.

+0

Я читаю данные из Excel с помощью OleDbDataReader. затем помещая данные в каждое поле в разные переменные и вставляя запись в таблицу SQL с использованием этих переменных. – macsys

+0

У меня есть это, я должен префикс N перед каждой информацией, которую мне нужно вставить в таблицы. Но снова я получаю странную проблему. На компьютере с Windows 7 как SSMS, так и My приложение отображают данные хинди в правильном формате. Но когда я использую Win XP, только ящики отображаются везде, где вместо данных Hinid. Вы можете помочь! – macsys

+0

Что делать, если вы попробуете «Результаты для текста» в SSMS? Я заметил, что это более надежно для отображения символов Unicode. Не знаю, почему. Может быть, он использует другой шрифт? –