rubyスクリプトで四苦八苦

最近、PCをリカバリした関係でruby開発環境をインストールし直す羽目になりました。
とりあえず、今まで通りruby1.9.1を落としてきて適当な場所に解凍。
パスを通し、コマンドプロンプトからgemコマンドでrubytterとoauthラッパーをインストール。
今までに作ったスクリプトはバックアップを取っておいたので、それをCドライブ直下に移動。
ディレクトリに移動して、さぁ実行と思い実行したらなにやらエラーを吐てしまいました。

スポンサードリンク

dllが足りないってエラーでしたが、zlidとかreadlineではないようでした。
エラーダイアログボックスにはmsvcrt-ruby18.dllがないから実行できないぞと出ていました。
とりあえず、dllつっこんどきゃ良いだろうと思い、ググってDLし突っ込んでみました。
が、それだけではだめでした。よくよく調べてみると、これはruby1.8系のdllでした。
どうりで動かないわけです。

しかし、前までは1.9.1で動いて他のにどうしてでしょう・・。
仕方ないのでこの際、cygwinでも使ってみることにしました。
cygwinをインスコし、gemも導入。
gem経由でrubytterとoauthラッパーをインスコ。

さぁ、今度こそと思い実行。
今度はエラー無く実行されましたけど、コンソールに出力される日本語が文字化けしました。
対策法をググり対策。しかし、今度は一部の日本語が文字化けしました。
先頭に「なうぷれ♪」と入れてるのですが、そこが化けちゃってるみたいでした。
♪を外すと文字化けは直ります。
これじゃまずいと思い対策法を調べ、どれも試したがダメでした。
そんで、もしかしたらと思い、文字コード指定保存でスクリプトファイルのコードをSHIFT-JISで保存し、コンソールとTwitterにポストするときはUTF-8で出力するとうにしてみました。

そしたら、見事に解決。
こんな簡単なことだったとは、思いもしませんでした。
そういえば、入門サイト見たらUTF-8環境での開発がどうのって書いてあったから、文字コードはUTF-8で保存してたんでした。
それが原因だったとは・・・。
これで、心置きなくBOTスクリプト作成作業へ移れます。
春休みが終わる前には運用できるようにしたいですね。

スポンサードリンク
Pocket

Comments are closed.