Управление преобразованием данных между различными схемами кодирования Юникода
В этом подразделе рассказывается о сохранении целостности символьных данных, когда и серверное хранилище, и взаимодействующее с данными клиентское приложение поддерживают Юникод, но используют различные схемы кодирования. SQL Server для хранения данных Юникода применяет схему кодирования UCS-2. Однако многие клиенты для обработки Юникода используют другие схемы кодирования, как правило, UTF-8. Это часто относится к веб-приложениям.
Поскольку и в этом случае преобразование выполняется, фактически, из одной кодировки в другую, то для решения этой задачи по-прежнему подходят многие из подобных решений, обсуждавшихся в разделах Управление преобразованием данных между сервером с поддержкой Юникода и клиентом, не поддерживающим Юникод и Управление преобразованием данных между кодовыми страницами клиента и сервера. Строковые константы символов Юникода, отправляемые на сервер, должны начинаться с прописной буквы N. Для веб-приложений в атрибуте META клиентской HTML-страницы указывается код CHARSET. Например, при использовании схемы кодирования Юникода UTF-8 следует указать параметр CHARSET = utf-8. На стороне сервера схема кодирования указывается в свойстве Session.CodePage или директиве @Codepage. Например, codepage=65001 задает кодировку UTF-8. При выполнении этих указаний службы IIS версии 5.0 и более поздних версий согласованным образом выполняют преобразования из UTF-8 в UCS-2 и обратно без дополнительных действий со стороны пользователя.
В приложениях Visual Basic символьные строки обрабатываются в кодировке UCS-2. поэтому нет необходимости явно задавать преобразование кодировки между этими приложениями и экземпляром SQL Server.