Автор темы:
"текст на английском, польском, словацком и чешском языках. Однако, когда текст вводится в базу данных, любые акцентированные буквы заменяются на английские буквы" После поиска по форумам я обнаружил, что можно поставить 'N' перед строкой, которая содержит символы с акцентом. Например:
INSERT INTO Table_Name (Col1, Col2) VALUES (N'Value1', N'Value2')
"Сортировка для базы данных в целом - Latin1_General_CI_AS"
Я не понимаю, как это могло произойти из-за SQL Server, так как Latin1_General_CI_AS обрабатывает европейские "неанглийские" буквы:
--on database with collation Latin1_General_CI_AS
declare @test_multilanguage_eu table
(
c1 char(12),
c2 nchar(12)
)
INSERT INTO @test_multilanguage_eu VALUES ('éÉâÂàÀëËçæà', 'éÉâÂàÀëËçæà')
SELECT c1, cast(c1 as binary(4)) as c1bin, c2, cast(c2 as binary(4)) as c2bin
FROM @test_multilanguage_eu
выходы:
c1 c1bin c2 c2bin
------------ ---------- ------------ ----------
éÉâÂàÀëËçæà 0xE9C9E2C2 éÉâÂàÀëËçæà 0xE900C900
(затронут 1 ряд)
Полагаю, вам просто нужно установить флажки на них Панель управления -> Региональные и языковые параметры -> вкладка Дополнительно -> Таблицы преобразования кодовой страницы и убедиться, что вы отображаете в той же кодовой странице, что и ее.
Мне кажется, что преобразование в кодировку Unicode из кодировок, используемых клиентами, может привести к проблемам при отрисовке для веб-клиентов.
Я считаю, что большинство европейских указателей сортировки используют кодовую страницу 1252 [1], [2].
Обновление:
ВЫБРАТЬ
COLLATIONPROPERTY ('Latin1_General_CI_AS', 'CodePage')
выходы 1252
[1]
http://msdn.microsoft.com/en-us/library/ms174596.aspx
[2]
Windows 1252
http://msdn.microsoft.com/en-us/goglobal/cc305145.aspx