下記サイトで現在LINQ to SQL を勉強中なのですがクエリ式でSQL Serverにレコードを挿入すると日本語が文字化けしてしまいます。Entity Frameworkはいろいろ理由があり使えません。
http://ufcpp.net/study/csharp/sp3_linqtosql.html
いろいろ調べてみるとデータ型をvarcharにしていたのでnvarcharに直したのですが文字化けがもどりませんでした。こちらのソースコードのエンコードはUnicode(UTF-8 シグネチャ付き)です。
クエリ式なのでNプレフィックスもつけれないようなので困っています。
どなたかご教授ください。
下記がコードです。テーブルやmdbファイルなどは上記サイトに書かれているとおりに
作りました。Authorテーブルを使用しています。コードでわからないところがあれば
気軽に質問してください。
lang
1string _connectionString = ConfigurationManager.ConnectionStrings["LinqToSqlTest.Properties.Settings.ComicDatabaseConnectionString"].ConnectionString; 2 3var db = new ComicDataContext(_connectionString); 4Author a = new Author(); 5a.Name = "N'赤松健'"; 6db.Author.InsertOnSubmit(a); 7db.SubmitChanges(); 8 9Console.ReadLine();
Author デザインテーブルが以下になります。
![イメージ説明]WIDTH:470
08/19 お騒がせしました。解決方法です。
すいません。
自己解決できました。
みなさまお騒がせしました。
原因:
はっきりとは分からなかったのですが。どうやら
①最初にvarcharでデータの型を宣言→自動マッピングされる
②そのあとデータの型をvarcharからnvarcharに直した→マッピングしなおされたはず
(でも両方ともstring型でマッピングされている
の部分だったようです。
解決方法:
データーベースを削除して、新しく作り直し初めからnvarcharに設定する。
で解決できました。
作り直した際に、実行ファイルのデータベース側のファイルアイコンが@
に変化しました。
これも何か関係があるのかも。(8/20関係ありませんでした。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2014/08/19 02:24
2014/08/19 04:38