解決策
exeファイルを叩いて実行するのではなく、
コマンドプロンプトでRUBYOPTにUTF-8を設定する。
set RUBYOPT=-EUTF-8
tabula.exe
※Windowsの環境変数として設定することでも対処可能
事の発端
PDFの表をいい具合に変換してくれるというtabulaというツールを発見し試そうとしました。
Tabula: Extract Tables from PDFs
Tabula is a free tool for extracting data from PDF files into CSV and Excel files.
リンク先から最新のzipをダウンロードし、展開。
tabula.exeを実行したところ、
http://127.0.0.1:8080/
が開かれたのはいいのですが、以下のエラーが表示されました。
Internal Server Error (500)
Request Method: GET
Request URL: http://127.0.0.1:8080/
(ArgumentError) invalid byte sequence in Windows-31J
You're seeing this error because you use JRuby::Rack::ErrorApp::ShowStatus.
JRubyを使っていて、Windowsの標準文字コード(Windows-31J)で動こうとしてエラーとなっている模様
調べると、tabulaはUTF-8の文字コードを使用している模様
解決策を実行して解消しました。
コメント