2010-01-06 3 views
5

Как настроить SQL Server 2005 DBMS, чтобы вы могли хранить данные на разных языках?Поддержка данных на нескольких языках SQL Server

Моя конкретная проблема заключается в следующем: в SQL Server Management Studio я пишу инструкцию insert, в которой содержатся немецкие Umlauts. Текст успешно сохраняется, но чтение того же значения приводит к тексту без Umlaut.

Учтите, что я должен поддерживать 4 языка: английский, немецкий, греческий & Русский (я не хочу думать, с чем мне придется столкнуться с русским текстом).

СУБД теперь настроен на греческое сопоставление (для поддержки греческого языка).

Это вызывает проблемы?

Любые подсказки ??

ответ

5

Вам нужно используйте тип данных nvarchar для строк (http://msdn.microsoft.com/en-us/library/ms186939.aspx), и вам также необходимо предшествовать всем строкам unicode с помощью N (http://support.microsoft.com/kb/239530).

При использовании строковых констант Юникода в SQL Server вы должны предшествовать всем строкам Unicode с большой буквы N, как описано в разделе «Использование данных Unicode» в разделе «Книги в формате SQL». Префикс «N» обозначает национальный язык в стандарте SQL-92 и должен быть прописным. Если вы не префикс строки строки Unicode с помощью N, SQL Server будет преобразовывать ее в кодовую страницу, отличную от Юникода, из текущей базы данных, прежде чем она будет использовать эту строку.

2

Вы используете nvarchar тип (а не varchar)? было бы рекомендовано, если у вас несколько языков в одном столбце. что позволит вам правильно хранить и получать.

конечно, SQL сервер может поддерживать только один тип сортировки по определенному столбцу, даже если столбец используется для хранения строк на разных языках, так что что-то рассмотреть ...

Смежные вопросы