svn: Can't convert string from native encoding to 'UTF-8'
人にサーバにftpでアップロードさせたファイルをsvn importしたところ
svn: Can't convert string from native encoding to 'UTF-8'
なんだー と思って調べたらファイル名がかなりやな感じになってた。SHIFT_JISっぽい…
LANG=ja_JP.SHIFT_JIS
とした上で svn import してみたが、今度は別のところで同じエラー。何でだろうと思って
ls hoge/hoge/エラーの出たフォルダ/ | iconv -f SHIFT_JIS -t UTF-8
としてみたらコンバートできない。iconv -l で見てみると SJIS-WIN とかを発見。
ls hoge/hoge/エラーの出たフォルダ/ | iconv -f SJIS-WIN -t UTF-8
としてみると丸数字とか使ってやがる…
export LANG=ja_JP.SJIS-WIN
とかやっても無駄っぽいので調べてみたら、localedefとかでlocale作るのな。
sudo localedef -f SJIS-WIN -i ja_JP ja_JP.SJIS-WIN キャラクタマップファイル `SJIS-WIN' が見つかりません: そのようなファイルやディレクトリはありません
orz...キャラクタマップファイルって何だろう。しかたないのでほかので試してみる。
sudo localedef -f SHIFT_JISX0213 -i ja_JP ja_JP.SJISX0123 キャラクタマップ `SHIFT_JISX0213' は ASCII 互換ではありません, ロケールは ISO C に従っていません
とか言われたけどなんとかできたみたい。
LANG=ja_JP.sjisx0123 svn import -m 'import' file:///var/svn/hoge
とやると、なんとか動いているっぽい(20Gインポート中…)LANGがsjisなのでimportしてます的文字列が文字化けしている。幸いというか当然というかscreen上で実行していたので
ctrl-a :encoding sjis utf8
で、ちゃんと日本語が表示された。
朝になって失敗してたら追記するかも。