#asp.net #sql #sql-server #entity-framework #sql-server-express
#asp.net #sql #sql-сервер #entity-framework #sql-server-express
Вопрос:
Я использую .net entity Framework, asp.net у mvc, sqlexpress и есть одна проблема:
при сохранении данных в таблицу базы данных sqlexpress (что-то вроде этого само да пробам
) в этой таблице у меня есть это ???? ?? ??????. В столбце, куда вставляются данные кириллицы, я установил параметры сортировки:Serbian_Cyrillic_100_CI_AI.
Ответ №1:
Типом данных столбца должен быть nvarchar (который является Unicode).
Комментарии:
1.
@Richard Schneider
: Я использую текст, а не nvarchar. Является ли nvarchar хорошей заменой текстовому типу данных2. @user — Да.
text
не рекомендуется, но это не совсем правильный ответ. Вы можете сохранить их в столбце, отличном от юникода, при условии, что параметры сортировки установлены правильно, но необходимо избегать их приведения к параметрам сортировки вашей базы данных по умолчанию.CREATE TABLE #T (C TEXT COLLATE Serbian_Cyrillic_100_CI_AI); INSERT INTO #T VALUES (N'само да робам'); SELECT * FROM #T
3. На самом деле, если вам нужна поддержка Unicode, используйте
NTEXT
— или еще лучше (поскольку TEXT / NTEXT устарели):NVARCHAR(MAX)