DOBON.NET DOBON.NETプログラミング掲示板過去ログ

DBよりデータ取得時の文字化け

環境/言語:[WindowsXP、言語 C#、 .NET Frameworkのバージョン 1.1、 DB oracle9i]
分類:[.NET]

いつも拝見させて頂いております。
以下問題についてご教授頂ければと思います。
宜しくお願い致します。


DBより取得したデータで「〜」という文字のみ正常に取得できません。
それ以外の文字列は正常に取得しています。

例えば「渋谷〜新宿」とDBに登録されているデータだとすると
「渋谷(宇宙文字)新宿」となってしまい、「(宇宙文字)」部分だけ「〜」に置換しようとしても
「(宇宙文字)」自体を認識することができないので(プログラム上書き込むことができないという意味です)
対処方に困っています。

try
{
  //stream、dataCommandは引数として受け取っており、データとしては問題ありません。
  StreamWriter streamWriter = new StreamWriter(stream, Encoding.Default);

  dr = dataCommand.ExecuteReader();

  while(dr.Read())
  {
    for(int i = 0; i < dr.FieldCount; i++)
    {
      // streamに書き込む
      streamWriter.Write(dr.GetString(i));
    }
  }
  streamWriter.Flush();
}
finally
{
  if(dr != null)
  {
    dr.Close();
  }
}


宜しくお願い致します。
■No5668に返信(やなぎさんの記事)
> DBより取得したデータで「〜」という文字のみ正常に取得できません。
> それ以外の文字列は正常に取得しています。

いわゆる「ウェーブダッシュ問題」では?
Googleで上記キーワードを検索してみてください。
■No5669に返信(よねKENさんの記事)
> ■No5668に返信(やなぎさんの記事)
>>DBより取得したデータで「〜」という文字のみ正常に取得できません。
>>それ以外の文字列は正常に取得しています。
>
> いわゆる「ウェーブダッシュ問題」では?
> Googleで上記キーワードを検索してみてください。
>


よねKENさん、返信ありがとうございます!
「ウェーブダッシュ問題」というのですね。知りませんでした。
どうやら問題解決できそうです。
ありがとうございました。

DOBON.NET | プログラミング道 | プログラミング掲示板