状況
sinatraを使ってWebアプリケーションを作成していると、
invalid byte sequence in Windows-31J
というエラーが気まぐれに出ます。
このエラーページにある
Windows-31Jというのは、Shift-JISを改造した文字コードみたいなものです。(検索してみてください。詳しく解説しているサイトがあります)
原因
対処
Encoding.default_external = 'UTF-8'
をrubyファイル(.rb)の先頭(1行目)に入力してください。※UTF-8の部分は、保存したときの文字コードに合わせてください。
ただ、プログラミングをするのならUTF-8を強くお勧めします。というか、こちらが標準です。
(バッチファイルを書くのならShift_JISでもよいと思いますが...)
参考:RubyのSJISはShift_JISじゃない
入力するのは、ERBファイル(.erb)ではないです。
こうすることで、rubyのインタープリタに文字コードを知らせることができます。
0 件のコメント:
コメントを投稿