2009年7月5日日曜日

日本語が含まれるパスでfixutf8が使えない

コメントで指摘されてた件ですが、
fixutf8を有効にすると --repositoryが使えなくなる原因でも少し書きましたが、起動時にリポジトリのパスを設定した後、プラグインのロードを行っているため、パスをutf-8に変換できずcp932で保存するためエラーになる。

対処方法としては文字コード判定処理を入れるのが一番簡単かもしれない。
やり方としてはutf-8からUnicodeに変換しているところで今はignoreを指定して変換してるがstrictを指定して変換するように変更し例外が発生したらstrictを指定してlocale.getpreferredencoding()で取得した文字コードからUnicodeに変換しまた例外が発生したらignoreを指定してutf-8からUnicodeに変換する方法が思いついたが責任は持てない。

0 件のコメント:

コメントを投稿