Разрешить специальные символы SQL Server 2008 - PullRequest
6 голосов
/ 27 октября 2009

Я использую SQL Server 2008 Express Edition, и его параметры сортировки установлены по умолчанию. Я хочу хранить в моей базе данных специальные символы характера, такие как á, â, ã, å, ā ,ă, ą, but, но он преобразует их в нормальные символы, такие как «а». Как я могу остановить SQL Server от этого?

Ответы [ 2 ]

8 голосов
/ 27 октября 2009

Убедитесь, что ваши столбцы используют тип nvarchar (...), а не varchar (...). Первый - Unicode, второй - ASCII.

Кроме того, убедитесь, что для параметров сортировки по умолчанию для вашей базы данных задано значение Accent Sensitive и что ваши столбцы хранятся таким образом. Вы также можете проверить параметры сортировки по умолчанию вашего экземпляра, так как это влияет на параметры сортировки по умолчанию для ваших системных баз данных, в частности, tempdb.

3 голосов
/ 27 октября 2009

Рахул, вот очень простой запрос, который отлично работает на SQL 2005 и 2008:

Запрос

DECLARE @t1 TABLE (
    Col1    nvarchar(30)
)

INSERT INTO @t1 VALUES (N'á ,â ,ã ,å ,ā ,ă ,ą ,ǻ')

SELECT * FROM @t1

Результат

Col1
------------------------------
á ,â ,ã ,å ,ā ,ă ,ą ,ǻ

Здесь нет ничего особенного. Никаких изменений параметров сортировки по умолчанию, просто столбец NVARCHAR.

Вы сказали, что "просто выполняете прямые запросы в базе данных". Можете ли вы попробовать этот запрос и посмотреть, если вы получите те же результаты?

...