Linux(Debian)上でRailsを動かす
しかも、ソースはEUC-JP。一日半の試行錯誤の末、とりあえず動くようにはなった。
GetTextで国際化している場合、以下のようにする。
- プロジェクト内のテキストファイルはすべてEUC-JPに変換
- $KODE='u'→$KCODE='e'に書き換え
- app/controllers/application.rbで、init_gettext("project_name","EUC-JP")とする
- poファイル内で、charsetを指定しているところで、"utf-8"を"EUC-JP"に書き換え
さらに、UTF-8のときは全く問題にならなかったMySQLの設定が問題になった。
UTF-8の場合、
で問題ないのに、EUC-JPで、
とすると、なぜか文字化けが起こる。
これは、いろいろ調べたところ、どうにもならないらしい。(MySQLの仕様?)
しかし、実は回避策(裏技)はある。
それは、MySQLで、
- Latin1(latin1_general_ci)
に設定する方法で、phpMyAdminの場合、
top画面のMySQL 接続照合順序で、
latin1_general_ci
を選択する。
さらにデータベースと、テーブルでも同様に照合順序で、
latin1_general_ci
を選択すればOK。
ヤレヤレと思ったら今度はDebianのapt-getとRubyGemで、
競合が起こるらしいことがわかって、Railsが動くようになったが、
なるべくdpkgで入れるべきか、gemをメインにするかで、悩みつつ現在に至る。