memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

ちょっとメモ

ひさしぶりにnetbeansを起動してプログラム。忘れそうなのでちょっと自己メモ。

症状:Windowsで動作したプロジェクトがmacで動作しない。どうやらこのプロジェクトで読み込んでいるCSVファイルのファイル名が文字化けしているようだ。

環境:Rubyプロジェクト(NAGARE)ではMS-Excelと連携するため文字コードShift_JISに設定している。ただしNetbeansプロジェクトはDropBox上に置いている。

対応:パスの文字列(Stringクラスのインスタンス)に.toutf8を付加して文字列をShift_JISからUTF-8に変換する。.toutf8メソッドを追加するrbファイルにはrequire 'kconv'を追加しなければならない。パスの区切り記号を\から/に変える。この2点でCSVファイルにアクセスできるようになる。

補足:DropBox(クライアント)のファイル名はどうやら各OSにあわせて自動的に変換するようだ。Windowsで保存したファイル名はShift_JISWindows-31J?)、macでそのファイルを見るとUTF-8になる。ありがたいことだけどプログラムコードの文字列は固定なのでその変化に追従しない。実行環境にあわせてデバッグスイッチを働かせるしかないのかな。。。Rubyではどうやるんだろう?