У меня проблема в том, что когда я пытаюсь вставить японское слово в свою базу данных.Он вставляет их, но когда я проверяю слово, это выглядит так: «??????»
Итак, я исследовал в stackoverflow и перепробовал много решений, но не смог, и у меня все еще остается та же проблема.Вот мой код, если кто-то может помочь:
Вот слово, которое я ввожу в текстовое поле:
ケンガンアシュラ
База данных показывает его как:
????????????
Модель:
[Display(Name = "Alternative Name")]
[StringLength(200)]
public string Alternative_Name { get; set; }
На сервере SQL он имеет тип данных
nvarchar(200)
Вот мое мнение:
<div class="form-group">
<h4>@Html.LabelFor(model => model.Alternative_Name, new { @class = "control-label col-md-3" })</h4>
<div class="col-md-6">
@Html.EditorFor(model => model.Alternative_Name, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Alternative_Name, "", new { @class = "text-danger" })
</div>
</div>
Я пытался обновить его с помощью миграции и изменилUnicode в true:
AlterColumn("dbo.Post", "Alternative_Name", c => c.String(maxLength: 200, unicode: true));
Но ничего не работает, база данных продолжает отображать его как ?????
.
ОБНОВЛЕНИЕ : В моем случае решение просто в моделикласс конструктора или модели, который объясняет отношения между таблицами и атрибутами, для Unicode было установлено значение false, поэтому я изменил его на true и решил:
modelBuilder.Entity<Post>()
.Property(e => e.Alternative_Name)
.IsUnicode(true);