【问题标题】:C# Entity Framework Migrations adding weird characters to stringC# Entity Framework Migrations 向字符串添加奇怪的字符
【发布时间】:2015-12-24 08:59:04
【问题描述】:

我的 MsSql 数据库中有 nvarchar 列类型的字符串。我的种子方法示例是这样的:

protected override void Seed(Sro.Models.ApplicationDbContext db)
    {
        Konu iyimi = new Konu { isim ="ıyımıdır", lastAktifTime = DateTime.Now, konuUrl = "iyimi", };
        db.Konu.AddOrUpdate(iyimi);
    }

当我执行种子方法时,一些字符“ç,ö”可以,但“ı”字符在数据库中保存为“ý”,例如“ıyımıdır”出现“ýyýmýdýr”。我尝试了不同的 sql 服务器,但结果是一样的。 顺便说一句,网站查询没有问题。当我在调试时尝试添加新行时,没关系。这对我来说没有任何意义。感谢您的帮助。

【问题讨论】:

  • 你检查过profiler的sql查询吗?
  • 不,我没有,我需要吗?
  • C#源文件是utf-8编码的吗?
  • 由于某种原因它被转换为 ANSII 或其他东西。我用 Notepad++ 更改了文件编码,现在它可以工作了。
  • 文件->高级保存选项编码:Unicode(utf8)

标签: c# sql-server asp.net-mvc entity-framework entity-framework-migrations


【解决方案1】:

尝试在字符串前添加“N”,例如:UPDATE TableName SET Name = N'śćżas' WHERE Id = 0

【讨论】:

【解决方案2】:

将“Charset=utf8”添加到实体连接字符串。

Entity Framework C# Insert Data russian encoding problems

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-13
    • 1970-01-01
    • 1970-01-01
    • 2015-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-17
    相关资源
    最近更新 更多