2012-02-17 12 views
4

英語と日本語を同じフィールドに格納することはできますか?フィールドの型はNVARCHAR(1024)です。私が見る唯一のことは疑問符です。エンティティフレームワークと格納テキスト

テーブルに別のフィールドを追加し、照合順序をjapaneseに設定しました。それはうまくいくようです。しかし、私は2列が欲しいわけではありません。ちょうど1が欲しいです。

どこでも私はNVARCHARがデフォルトの照合順序を変更せずにUnicodeを保持できることを読んでいますが、そうであれば英語か日本語かを教えてください。

+0

注:あまりにも長い間、画面を凝視はあなたの問題解決能力を向上しません。結局のところNvarcharでは問題を引き起こした唯一の列ではありませんでした。それを変更した後、問題はなくなり、すべてが期待どおりに自動的に機能しました。 – Jeroen

答えて

0

エンティティフレームワークがDBに保存したい文字列の暗号化をチェックし、保存先を決めることができます。

この問題を処理するには、Encoding.GetEncodingメソッド(String)を使用して作成することをお勧めします。

ここはあなたのための機能であり、テストすることができ、機能しているかどうか教えてください。メソッドのパラメータに

public static bool IsUnicode(string input) 
{ 
    foreach (char chr in input) 
    { 
     string str = chr.ToString(); 
     Encoding code = Encoding.GetEncoding("GB18030"); 
     if (code.GetByteCount(str) == 2) 
     { 
      return false; 
     } 
    } 
    return true; 
} 
And here is my test result: 

string zh = "微软"; 
string en = "Microsoft"; 
bool Izh = IsUnicode(zh); //return false 
bool Ien = IsUnicode(en); //return true 

、あなたは右の文字列を取得するためにhttp://msdn.microsoft.com/zh-cn/library/aa332097(VS.71).aspxでMSDNを訪問することができました。

よろしく、自己へ ネーダーSGHIR

関連する問題