みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Oracleのデータ抽出をShiftJIS変換するには?

VisualStudio2005の環境にて、Oracleのテーブルに格納されている文字列を以下のようにCSVファイルに抽出するだけの単純なプログラムなのですが、テキストエディタで開くと「UTF-8」となっており、文字化けする場合があります。これをShift-JIS等に変換するにはどうすればいいのでしょうか?

'オラクル接続
con.ConnectionString = ("User ID=aaa;Password=aaa;Data source=aaa")
con.Open()
StrSQL = "select * from table1"

comm = New OracleCommand(StrSQL,con)
My.computer.FileSystem.WriteAllText(path,"",false)
dr = comm.ExecuteReader
Do Until dr.Read = False
StrEdit(dr)
Loop


Function StrEdit(Byval Dr As OracleDataReader) as Boolead
Dim OutStr as string = ""
OutStr &= "'" & Dr("col1").ToString & "'"
中略
OutStr &= vbCrLf

My.computer.FileSystem.WriteAllText(path,OutStr,false)
End Function

どうか宜しくお願い致します。

投稿日時 - 2008-05-08 23:37:09

QNo.4007954

困ってます

質問者が選んだベストアンサー

WriteAllTextの引数Encodingつきのメソッドを使いましょう

dim enc as System.Text.Encoding = System.Text.Encoding.Defualt
My.computer.FileSystem.WriteAllText(path,OutStr,false,enc)
といった具合です

投稿日時 - 2008-05-09 01:38:10

お礼

お礼遅くなりましたがうまくいきました。
どうもありがとうございました。
また何かありましたら宜しくお願い致します。

投稿日時 - 2008-05-10 09:09:39

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

解決方法ではなくアドバイスです

 プログラムが面倒な人にお薦めな方法

Internet Explorerに投げ込んで、Internet Explorerで名前をつけて保存
保存の形式をTEXTにして、Shift-JISを選択

これだと、UNICODE ⇔ S-JIS ⇔ UTF-8 ⇔ JIS、などいろいろな変換ができます
すでに吐き出されたファイルがある場合、意外と使える方法ですよ
特に、UNIX系のエディタが吐き出すJIS形式ファイルの2バイト文字化けに対して有効です(ブラウザの上から印刷なども可能)


質問にあるプログラムを何度も繰り返し利用するのであれば、ブラウザを使う方が面倒になりますので
プログラムを修正して利用することをお薦めします

投稿日時 - 2008-05-09 00:12:08

ANo.1

プログラムからコマンドを実行する方法が(JAVA以外では)わかってないので具体的にアドバイスできないのですが、nkfを呼び出して変換してみてはどうでしょう?

投稿日時 - 2008-05-08 23:45:50