@ruby.exe -Ku racc <文法ファイル名>
Windows での、Racc文法ファイルの文字コードの扱いについて、前の項(Windowsで 1.9.1 と Racc とスクリプトエンコーディング - Rubyとか Illustratorとか SFとか折紙とか)の機序もう少し詳しく見てみる、「るびま」を参考に。
文法ファイルには UTF-8文字が混じっているという状況
まず、「-Ku」の無い場合
- racc <文法ファイル名>
- Windowsが racc.bat を探し当ててそれを実行
- ruby.exe racc <文法ファイル名> を実行
- <文法ファイル名>ファイルを読む、default_external = Windows-31J と想定
- UTF-8文字列が出てきたら、想定が違うとエラー
「-Ku」付きの場合
- racc -Ku <文法ファイル名>
- Windowsが racc.bat を探し当ててそれを実行
- ruby.exe -Ku racc <文法ファイル名> を実行
- <文法ファイル名>ファイルを読む、default_external = UTF-8 と想定
- UTF-8文字列が出てきても大丈夫
- default_internal が nil なので、文法ファイル文字列は内部的にも UTF-8 (externalと同じ)
こんな感じかな、間違ってないよね。
前項では、スクリプトエンコーディングという言葉を出したけど、微妙に適切ではなかったかも。