ちょっと思うところがあって漢字コードの大移動を行ってました。うちの漢字コードは
という感じで決めていたのですが、最近はトラックバックやらXML読み込みやらで UTF8 を使う機会がでてきて、ややこしくって仕方がありません。ということで、内部コードやらPostgreSQLのコードはUTF8にしても問題なさそうなので漢字コードを切り替えてみるよう大作戦。かなり面倒くさい作業なのですが、すべての野望を達成したあかつきには「PHPでファイルの読み込み時も出力時も変換の必要がなくなる」とか「ls で普通に漢字のファイル名が表示されるようになる」ということでメリットは計り知れません。
てことで移行スケジュール
% pg_dump table_name >hoge ; dropdb table_name ; createdb --encoding utf8 ; psql table_name <hogeでOK。
alias vi vim.vimrcに
alias less lv
setenv PAGER lv
setenv LV '-Ou8'
set encoding=utf-8などと書いておくと吉。
set fileencodings=utf-8,euc-jp,iso-2022-jp,ucs2le,ucs-2,cp932
% cd hogeにて再帰的にファイル名を変更可能かチェックしてくれるので、問題なさそうなら最後の行に --notest を追加して変更を実行する。うちのファイルは 以前 tar でバックアップ/リストアした際になぜか日本語のファイル名がぜんぶ化けてたので大変でした(笑)。その後 smb.conf で
% convmv -r -f sjis -t utf8 ./
display charset = UTF-8 unix charset = UTF-8 dos charset = CP932すればOK。
ということで、結構時間がかかったのですがなんとか終了しました。最後の項目は実現しませんでしたが、できたところでファイルの中身がシフトJISなのは変わらないので(笑)さほど切実な問題でもないかもしれません。
移行作業中は文字化けしてるのが見えてたりPHPのエラー画面が表示されてたりと見苦しいところをお見せしたかもです。まだ見苦しいところがあればきっと変更し忘れですのでこっそり教えてもらえるとたすかります。
□ 関連記事