1

我已经使用 Mysql 在 ASP.NET MVC 3 中完成了一个项目。要创建数据库,我首先使用代码 ef 4.1。我在数据库中插入的一些数据是汉字。当我插入数据时,它会显示为????. 我connectionString在我的网络配置中这样设置:

add name="mydbcontext" connectionString="server=localhost;user id=root; password=; database=mydbcontext; pooling=false; charset=utf8;" providerName="MySql.Data.MySqlClient"

但问题仍然存在......这是我用来插入数据的方式:

public class MyMenu {
    public int Id { get; set; }
    public string Home { get; set; }
    public string About { get; set; }
    public string AppForSmartphone { get; set; }
    public string Games { get; set; }
    public string Softwares { get; set; }
    public string Language { get; set; }
    public string News { get; set; }
    public string Cart { get; set; }
}

public class MyDbContext : DbContext {
     public DbSet<MyMenu> MyMenus { get; set; }
     public MyDbContext()
        : base("MyDbContext") {
    }
 }
   private MyDbContext db = new MyDbContext();
   MyMenu tmpmenu = new MyMenu {
     About = 關於,
     Id = 1,
     Cart = 車,
     News = 新聞,
     AppForSmartphone = 應用程序的智能手機,
     Games = 遊戲,
     Softwares = 軟件,
     Home = 家,
     Language = ""
   };
    db.MyMenus.Add(tmpmenu);
    db.SaveChanges();

有人能帮我吗?

4

1 回答 1

1

您的代码中没有问题。您只需要检查保存中文数据的列的DataType 。我猜您使用的是varchar(),而不是您应该使用nvarchar()

一天前我遇到了同样的问题。并将数据类型更改为 nvarchar() 解决了我的问题。

MySql 确实支持多语言。 更改 DataType 应该可以解决您的问题。

问候。

于 2012-05-05T05:41:22.750 回答