脳梗塞には負けられない!

2008年12月26日に脳梗塞を発症。負けずに自転車と写真とBAND活動に熱中しているY.MATのブログ。

VB.NETで文字化けする

2005-03-31 18:43:19 | IT技術的なこと
久々に VisualBasic を触っている。
これまで様々な言語で開発をしてきたけど、向いているのか、結構何でも直ぐに出来るようになる。
そういう所もこの仕事を続けてる理由かな。

そんな話はさておき、VBも .NET になってこれまでとは変わってるみたい。
たぶん、これまでのVBばっかりの人はとっつきにくいのかな。
なにしろオブジェクト化されて、Classとか使わなあかんし。
C#とかJavaとかやってたら困らないやろうね。

さて、久々で困ったのがファイル出力。
他のツールのテスト用にDBからデータをCSVファイルに書き出す簡単なプログラムを書く事にした。
普通にファイルを作って、開いて、データを書き込んで閉じるだけのプログラムやけど、簡単すぎて動かしてから問題が発生した。
なんと、普通にファイルを開いただけではエンコードが Unicode(UTF-8)になって、日本語が普通では文字化けしてしまう。
勿論、Unicodeに対応しているエディタ(秀丸とか)だと普通に見れるけど、Shift-JISでないと困るから、さてどないするか。
こんな時に頼りになるのはNet、検索をかけてみたが、どういうわけか今回は空振りが続く。
よっぽど基本的なことなんかな、と思ったけど、空振りの答えも似たレベルが多い。
エンコードの設定から調べなおすとすぐにわかった。

【当初】
Dim sw As StreamWriter = New StreamWriter(filename)

【変更後】
Dim sw As StreamWriter = New StreamWriter(filename,False,System.Text.Encoding.Default)

よく見てもらえれば分かると思うけど、引数を省略したらデフォルト値になる思ってたら、わざわざデフォルト値を引数に入れなあかんかったんです。
正直なところ、OSなり.NETframworkを見るなりして、システムのデフォルト値に合わせられへんのかな?
そんな難しい事やとは思わんねんけど、Microsoftも手抜きしすぎやない?

カーッ・・ペッ・・・オヤジだな

2005-03-31 12:34:22 | Japan
目覚めが悪い。
起きたとたんに咳が止まらなくなる。
しかも、痰がごっつう絡んでるから、「カーッ・・ペッ」としないといけない。

昔、まだ若かった頃は「オヤジ臭い」と思ってみてたことを自分がやってる。
なんだかな・・・とか思ってしまうが仕方がない。
痰を切らないと吐き気がするくらい気持ち悪いし、それをし過ぎると咽喉は腫れるし、
咽喉が痛むと熱が出てくるし、風邪の症状も治まらないし、と、悪循環やな。

とか言いながら仕事には嬉々として来てたりして。
今日は朝から【HULFT】なるものを入れて動かしてみる。
有名だけどこれまで使う機会がなかったから、新しいものは楽しい。
だから仕事続いてるのかな・・・