Как вставить символ UTF-8 в тип данных Text в SQL Server с помощью EF? - PullRequest
0 голосов
/ 01 февраля 2019

Я хочу вставить символ utf-8 в SQL Server, но если вывод текста типа данных ??????????????????????, работать для всех типов данных, но не работатьв текстовом типе данных

Структура таблицы:

enter image description here

Код C #:

news.System_Date = DateTime.Now;
            news.Staff = Base_Tables.Current_User.ID;
            db.News.Add(news);
            db.SaveChanges();

еслине используйте EF set N char work, но я не знаю в EF

Ответы [ 2 ]

0 голосов
/ 01 февраля 2019

text - это тип данных «один байт на символ», который не понимает Unicode - как вы выяснили.Вместо этого вам нужно использовать nvarchar(max), как вы использовали для заголовка и субтитров.

  • Префикс «n» означает, что он понимает Unicode.
  • И используйте nvarchar(max) (или, возможно, varchar(max), если вам не нужен Unicode) вместо text, поскольку текст устарел
0 голосов
/ 01 февраля 2019

Откройте файл edmx, выберите столбец сущности, который сопоставлен столбцу NVARCHAR с проблемой, и перейдите к его свойствам.

Установите для свойства Unicode значение True.

![enter image description here

Затем убедитесь, что вы правильно присваиваете значение при генерации строки в C #, а также используете достойного клиента, который может обрабатывать Unicode для просмотра данных.из базы данных (строка может храниться правильно, и клиент может не отображать ее в правильной кодировке).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...