svnコマンドでimport chekcout commit updateコマンドを打った時によく出るエラーで
Can't convert string from native encoding to 'UTF-8':や
Valid UTF-8 data.や
ネイティブのエンコーディングから'UTF-8'に文字列を変換できませんや
有効なUTF-8のデータ(16進数: )の後に無効なUTF-8文字列(16進数)のようなエラーがあります。
だいたいの原因が、存在するファイルに日本語ファイル名のものがある場合に発生する事があるのですが、おそらくlinuxエンジニアはやらないのでwindowsで誰かが作ったファイルが存在していることだと思います。
大抵の場合は環境変数 LC_CTYPE= の設定で対応できます。
$ export LC_CTYPE=ja_JP.utf8
ja_JP.utf8なロケールが存在しない場合は(まずないと思いますが)
locale -a | grep ja入れちゃいましょう。
ja_JP
ja_JP.eucjp
ja_JP.sjis
ja_JP.ujis
japanese
japanese.euc
# localedef -f UTF-8 -i ja_JP ja_JP.utf8
それでも同じエラーが出る場合は
$ export LC_ALL=ja_JP.utf8やっちゃいましょう。
それでもエラーが出る場合は思い切って
$ export LC_CTYPE=ja_JP.sjisをやってみてください。
ja_JP.sjisなロケールがない場合は
# localedef -f SJIS -i ja_JP ja_JP.sjisで追加してください。
LC_CTYPE=ja_JP.sjisでやれば回避できることもあります。
最後の手段は
$ vim ~/.subversion/configです。
log-encoding=utf8
これでもダメなら日本語ファイル名のファイルをsvn管理下から外してください!
以上どぇぇぇぇぇぇす。
最後の手段で助かりました。お礼カキコ
返信削除