2012-05-05 8 views
1

私はMysqlを使ってASP.NET MVC 3でプロジェクトを完成させました。データベースを作成するには、まずコード4.1を使用します。データベースに挿入するデータの一部は中国語です。データを挿入すると、????と表示されます。私はこのように私のWebの設定で私のconnectionStringを設定します。中国語のデータを最初に挿入したときの問題とmysql

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(); 

誰かが私を助けることができますか?

+0

ページエンコーディング? DBでnvarchar()を使用していますか? –

+0

いいえ、私はlongtextを使用していますので、私のデータベースは自動生成されていますので、どうすればいいですか? –

答えて

1

あなたcode.Youには問題はちょうどあなたがChinese.Iにあるデータを保存している列のデータ型をチェックする必要はありません(あなたがvarchar型を使用していたと思います)、むしろあなたべきnvarchar()を使用してください。

私は同じ問題を1日後に受けました。そして、データ型をnvarchar()に変更すると、私の問題は解決しました。

MySqlは多言語をサポートしています。 データ型を変更すると問題が解決するはずです。

よろしくお願いいたします。

+1

大丈夫ですが、私は何かを言うのを忘れてしまいました。私のデータベースは自動生成されていますので、過去の同じ問題が発生した場合、私のデータベースをうまく作成する方法がわかりません。 –

関連する問題