Проблема с сервером sql для хранения шрифта hindi mangal devnagari.Это показывает квадратные прямоугольники, когда я пытаюсь вставить значение - PullRequest
2 голосов
/ 16 июля 2011

Я работаю с модулем НЛП (обработка естественного языка). Для этого мне нужно хранить символы хинди в таблице SQL Server 2005. Для этого я использую c # в качестве внешнего интерфейса.

Сначала мне нужно узнать, хранит ли SQL Server символы хинди в таблице или нет. Так что я без c # пытаюсь сохранить символы хинди в таблицу, используя запросы вставки, но хранит квадратные поля в базе данных.

Я использую шрифт Mangal devnagri для шрифтов хинди.

Тип данных столбцов таблицы - nvarchar (50). Параметры сортировки по умолчанию, то есть «SQL_Latin_General _....». Я пробовал слишком много гуглить это много дней, но не могу найти удовлетворительную помощь.

Ответы [ 2 ]

4 голосов
/ 16 июля 2011

Я предполагаю, что вы видите квадратные квадраты в SQL Server Management Studio.Вероятно, это связано с неправильным шрифтом, используемым для отображения там, и необязательно из-за проблемы с данными, которые хранятся.

Когда вы запрашиваете БД из вашего приложения и читаете значения, вы должны получить правильный Unicodeпредставление обратно, так что никакая информация не теряется.

Убедитесь, что вы передаете данные как nvarchar в параметризованных запросах (и если вы передаете литеральные строки, добавьте к ним префикс «N», например, так:SET @s = N'My String').

0 голосов
/ 16 июля 2011

Вам придется использовать другое сопоставление. Попробуйте определенный, предназначенный для хинди символов. Если вы не можете найти ничего доступного, используйте универсальный Unicode / UTF-8. Я не использую MSSQL, поэтому вам придется найти правильную настройку самостоятельно (или дождаться другого ответа). Для mySQL я бы использовал сопоставление utf8_general_ci. Установка для параметра сортировки чего-то «латинского» по сути означает, что он сможет содержать стандартные латинские символы (например, AZ), а также некоторые варианты, такие как ä, ó или û, но, скорее всего, он не сможет принимать много нелатинских символов .

Попробуйте подход Лусеро выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...