プロジェクト

全般

プロフィール

バグ #455

完了

Encoding::InvalidByteSequenceError でmikutterが起動しない環境がある

Izumi Tsutsui さんが約12年前に追加. ほぼ12年前に更新.

ステータス:
終了
優先度:
通常
担当者:
対象バージョン:
プラグイン名:
ブランチ:
クラッシュする:

説明

http://www.re.soum.co.jp/~fukaumi/ml/netbsd/201203/msg00005.html
のNetBSDのメーリングリストで挙がった話です。

NetBSDのようなておくれた環境だけの話だと思いますが、
環境変数 LANG が設定されてない、もしくは ja_JP.eucJP 等の
UTF-8 以外の設定になっている環境で mikutter を起動すると

/usr/pkg/lib/ruby/1.9/json/common.rb:146:in `encode': "\xE6" on US-ASCII (Encoding::InvalidByteSequenceError)

のようなエラーメッセージが出て起動しないことがあるようです。

原因は上記のメールにあるとおり
mikutter/core/addon/openimg/pattern_file.json
の中の「携帯百景」が UTF-8 で書いてあって、かつ
Rubyに対して明示的にエンコーディングが指定されていない
ということなので

  • mikutter/core/utils.rb の file_get_contents(fn) で
    open(fn, 'r')
    になってるのを
    open(fn, 'r:utf-8')
    とする
  • 「(環境によっては) ruby を -Ku 付きで起動する」という説明を書く
  • 「携帯百景」を漢字で書くのをやめる

というのが対策案ですが、Linuxだと環境変数LANGがUTF-8以外になっていることはほとんどないのでは
という気もするので、環境依存の問題という判断であれば却下でも構いません(wikiにでも書きます)。

toshi_a 初音 さんが約12年前に更新

  • ステータス新規 から レビュー待ち に変更
  • 担当者Izumi Tsutsui にセット

明示していませんがUTF8以外の環境については、何も考えていませんでした。
最初の方法で対応して見ました。現在0.1ブランチでのみこの修正を取り込んでいます。確認お願いできますか。

Izumi Tsutsui さんが約12年前に更新

  • ステータスレビュー待ち から 解決 に変更

r729 の 0.1 で LANG 未設定の環境でも起動するのを確認しました。ありがとうございます。

toshi_a 初音 さんがほぼ12年前に更新

  • ステータス解決 から 終了 に変更

他の形式にエクスポート: Atom PDF