|
サイズ: 1125
コメント:
|
← 2014-11-13 23:37:56時点のリビジョン6 ⇥
サイズ: 1642
コメント:
|
| 削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
| 行 10: | 行 10: |
| 以前は Linux の日本語環境では euc-jp, sjis 等でファイル名をエンコードしていたが、近年は utf-8 以外は見なくなった。そこで、以前から使ってきた環境の sjis ファイル名を utf-8 に変換したい。 | 以前は Linux の日本語環境では EUC-JP, Shift_JIS 等でファイル名をエンコードしていたが、近年は UTF-8 への移行が完了しつつある。そこで、以前から使ってきた環境の Shift_JIS ファイル名を UTF-8 に変換したい。 |
| 行 12: | 行 12: |
| 変換には `convmv` を使う。Debian 系では apt-get でインストールできるようである。 | なお、DOS, Windows 9x 環境で使われていたファイル名の文字コードは正確には SJIS ではなく、拡張された CP932 になっている。「~」等の文字の変換結果が Shift_JIS と異なっていたり[^1]、Shift_JIS にない文字 (①等) が含まれていたりするので、ファイル名を変換する際は CP932 から UTF-8 へ変換する。 [^1]: [FULLWIDTH TILDE 問題](http://qiita.com/kasei-san/items/3ce2249f0a1c1af1cbd2) 変換には `convmv` を使う。Debian 系では apt-get でインストールできる。 |
| 行 17: | 行 21: |
| $ convmv -f shiftjis -t utf8 -r ディレクトリ | $ convmv -f cp932 -t utf8 -r ディレクトリ |
| 行 22: | 行 26: |
| WinSCP 等でファイル操作する際、接続先設定の `Advanced > Environment > UTF-8 encoding for filenames` を `Auto` (デフォルト値) に戻しておかないと WinSCP 上で文字化けしてしまう。 | WinSCP 等でファイル操作する際はファイル名を UTF-8 として解釈するようにする。(デフォルト) デフォルトに戻すには、接続先設定の `Advanced > Environment > UTF-8 encoding for filenames` を `Auto` に。 |
文字コード関連
ファイル名の文字コード変換
以前は Linux の日本語環境では EUC-JP, Shift_JIS 等でファイル名をエンコードしていたが、近年は UTF-8 への移行が完了しつつある。そこで、以前から使ってきた環境の Shift_JIS ファイル名を UTF-8 に変換したい。
なお、DOS, Windows 9x 環境で使われていたファイル名の文字コードは正確には SJIS ではなく、拡張された CP932 になっている。「~」等の文字の変換結果が Shift_JIS と異なっていたり1、Shift_JIS にない文字 (①等) が含まれていたりするので、ファイル名を変換する際は CP932 から UTF-8 へ変換する。
変換には convmv を使う。Debian 系では apt-get でインストールできる。
ディレクトリとその中のファイル名を再帰的に全て変換するにはまず以下のようにする。
$ convmv -f cp932 -t utf8 -r ディレクトリ
これで実行内容だけ出力して、実際には何もせずに終了する。特に問題なければ、上記に --notest を付けて実行すれば実際に変換が行われる。
WinSCP 等でファイル操作する際はファイル名を UTF-8 として解釈するようにする。(デフォルト)
デフォルトに戻すには、接続先設定の Advanced > Environment > UTF-8 encoding for filenames を Auto に。