• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:なぜRuby1.9が日本語処理できない問題)

なぜRuby1.9が日本語処理できない問題

このQ&Aのポイント
  • Ruby 1.9は日本語処理で問題が発生します。
  • Ruby 1.8.7では問題ありませんが、Ruby 1.9.3ではエラーが発生します。
  • 原因はUS-ASCIIの無効なバイトシーケンスにあります。

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

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4903/10364)
回答No.1

default_externalのエンコーディングがUS-ASCIIになっているからですね。 hello.txtの文字コードがutf-8だとすると、 export LANG=ja_JP.utf-8 ./test.rb と、環境変数LANGをセットしてスクリプトを起動するか、 スクリプトの冒頭で、 Encoding.default_external = "utf-8" と書くか。

biibulu
質問者

お礼

tcsh を使っています。 setenv LANG ja_JP.utf-8 で試してみましたが、直らなかったのです。 スクリプトの冒頭にEncoding.default_external = "utf-8"を書いたら問題が解決しました。 とても役に立ちました。大変感謝致します。

すると、全ての回答が全文表示されます。

関連するQ&A