2012-03-12 15 views
0

実行時にすべてのUnicodeでエンコードされた文字が正しく表示されます(OKです)。これらのデータはデータベースファイルに保存されます。そして私はそれらのすべてを読むためのアプリケーションを書いていますが、期待通りに正しく読み取ることはできません。日本語、中国語、韓国語のような言語は、ベトナム語、ドイツ語オランダ語などの文字のみの上にドットやストロークがあるものはすべて簡潔に表示することはできません。何か助けてくれてありがとう。Unicodeでエンコードされた文字をアプリケーションに読み込む

[UPDATE]

まあありがとう、私は、彼らはすでに、すべての私のコンピュータシステムであるように私は、もうインストールする東アジアとアジア言語の必要はないと思います。彼らは私の作成したアプリケーションで表示することができませんが、それらを格納し、取得するためにデータベースを使用するアプリケーションでうまく表示されます。たとえば、yahooメッセンジャーが単言語であった昔は、英語のみを表示できましたが、後で他の言語の他の文字を正しく表示するために他のdllを追加しました。 dllを処理するために、他の言語を読み込むための設定が不要になりました。現行のメッセンジャーがキーボードから異なる入力を介して英語、日本語、中国語を読むことができると仮定すると、messengerreaderと呼ばれる私のアプリケーションはそれらの入力を読み取ることです。私のメッセンジャーリーダーは上記のようにいくつかの言語を理解することができませんが、メッセンジャーはその入力でうまく動作します。それらをすべて動作させるために今何をしてもいいか?私はどんな助けにも感謝しています。 [OK]を

[UPDATE再び]

、私は元のアプリケーションに「Lêサン」として正しく表示されているユーザ名に読む必要が自分のアプリケーションに今まで考えることができる簡単な例。私のアプリケーションは、 'L'の後にいくつかの奇妙な文字を表示します。

public struct Username 
{ 
    public string username; 
} 

IEnumerable<Username> Getuser(string tableName) 
{ 
    Datatable dt=ReadDB(tableName); 
    List<Username> lst=new List<Username>(); 

    lst.Add(new Username(){username=dt.Rows[0]['username']}); 
    return lst.ToList(); 
} 
+0

を与えることができますか? UTF-8? UTF-16 LE/BE? UTF832? –

+2

あなたはどのOSにいますか?東アジア言語のサポートをインストールする必要があります。 –

+0

私はより良いclearifyに更新します。 – Hoger

答えて

0

あなたは

public string UserNameAsHexDump { 
     get 
     { 

      char[] ca = username.ToCharArray(); 

      string output = ""; 
      foreach (char c in ca) 
      { 
       output += string.Format("{0} - {1:X4}\r\n", c, (uint)c); 
      } 

      return output; 

     } 
    } 

に、このような方法を追加し、ユーザー名の文字列のための六角をダンプすることはできますが出て、結果をコピーして、私たちは生データを見てみましょう、「Lêサン」のサンプルができます:それから

L - 004C 
ê - 00EA 
    - 0020 
S - 0053 
a - 0061 
o - 006F 

はSO、おそらくあなたに答えユニコードの種類

関連する問題