У меня есть база данных SQL Server с сортировкой по умолчанию Latin1_General_CI_AS
. Столбцы моей таблицы имеют тип данных nvarchar
или ntext
.
База данных предназначена для многоязычного веб-сайта, который должен поддерживать как минимум польский, английский, а позднее также украинский и французский языки.
Я даже изо всех сил пытаюсь заставить его принимать польские символы. С помощью столбцов типа nvarchar/ntext
я могу вручную изменить строку в базе данных, чтобы использовать польские специальные символы, но при использовании операторов insert
или UPDATE
специальные символы лишаются своих акцентов.
Eg.
INSERT INTO Some_Table
VALUES( 7, 'aśęóń', 'ąćł', 0.1, 1)
в конечном итоге во втором и третьем столбцах на INSERT
или UPDATE
это оказывается 'aseón' и 'acl', поэтому исходные символы теряются.
Я пытался настроить другое сопоставление, но даже если в поле указано Polish_CS_AS
, оно не принимает польские символы при вставке / обновлении.
Как заставить базу данных принимать символы разных языков?
VALUES( 7, N'aśęóń', N'ąćł', 0.1, 1)
(а также вам следует прекратить использованиеntext
и вместо этого использовать `nvarchar (max)) - person Lamak   schedule 03.01.2017INSERT INTO Some_Table VALUES( 7, N'aśęóń', N'ąćł', 0.1, 1)
- person Shakeer Mirza   schedule 03.01.2017ntext
,text
иimage
будут удалены в будущей версии SQL Server. Избегайте использования этих типов данных в новых разработках и запланируйте изменение приложений, которые в настоящее время их используют. Вместо этого используйтеnvarchar(max)
,varchar(max)
иvarbinary(max)
. См. подробности здесь - person marc_s   schedule 03.01.2017