2013年5月18日土曜日

Redmine XLS Export Plugin で Iconv::InvalidEncoding

掲題のエラーになる、とのチケットが発行されました。
BitNami Redmine Stack使われてますねえ。
https://github.com/two-pack/redmine_xls_export/issues/23

エクスポート時にspreadsheet内でIconvを呼び出しているところが該当箇所でした。
UTF-8 から UTF-16LE の変換で失敗しています。
Iconv::InvalidEncoding (invalid encoding ("UTF-16LE//TRANSLIT//IGNORE", "UTF-8")):
spreadsheet (0.8.5) lib/spreadsheet/encodings.rb:38:in initialize'

spreadsheetを調べてみるとruby 1.8と1.9で処理が分かれていました。
1.9.x以上はString#encodeメソッドなどで変換してます。
1.8.x以下は、Iconvを使って変換しています。
今回問題が起きている環境はRuby 1.8.7でした。

そもそもUTF-8でないデータが渡ってきてるのでは??と思いBitNami Redmineでの文字化け情報がないかなあ、、、と調べたら以下がありました。
これによると、データベースはずいぶん前からUTF-8になっているようなので、大丈夫そうです。。。
■[redmine]bitnami::redmine で文字化けしなくなった!

他を調べると以下のようなものもありました。環境問題っぽいのでそれで終わりにしました、、、なのか?w
http://stackoverflow.com/questions/4965796/convert-utf-8-to-unicode-in-ruby

0 件のコメント:

コメントを投稿

RedmineプラグインをGitHub Actionsでテストする

Redmine Advent Calendar 2019 の Qiita で書きました。追っかけで もう一つ 。 Travis-CIで行っていたRedmineプラグインのCIを、GitHub Actionsに変更したものです。 GitHub Actionsをやってみようという...