SQL Server 2008: сопоставление для кодовой страницы UTF-8 65001 - PullRequest
1 голос
/ 05 июля 2011

Необходимо сохранить XML в кодировке UTF-8, а затем использовать его в коде T-SQL для извлечения данных.

Параметры сортировки базы данных по умолчанию: SQL_Latin1_General_CP1_CI_AS.

Я не знаю, возможно ли сохранить и работать с данными UTF-8 в SQL Server 2008, но у меня есть идея использовать сопоставление с кодовой страницей UTF-8 (65001) в столбце XML, чтобы сохранить данные в UTF-8.

Кто-нибудь знает, возможно ли это, или имеет другое представление о том, как работать с данными UTF-8 в SQL Server?

Ответы [ 3 ]

1 голос
/ 05 июля 2011

Если вы имеете дело с данными XML, сохраните их как тип данных XML. Это должно решить любые проблемы, которые у вас есть (например, как их хранить), и вы избавите себя от необходимости преобразовывать его в xml, когда вы над ним работаете (например, выражения xpath, xquery и т. Д.).

1 голос
/ 05 июля 2011

Вы можете хранить все символы Юникода в столбцах xml или nvarchar.Неважно, какое сопоставление вы используете.Горстка редких китайских иероглифов (из дополнительной плоскости) может храниться в виде пар nchars (суррогатных пар).Но нет потери данных.

0 голосов
/ 05 июля 2011

NVARCHAR столбец должен делать эту работу очень хорошо.

...