2011年6月7日火曜日

OperationalError: Could not decode to UTF-8 column 'path' with text ...

Titanium Studio で機嫌よく開発をしていたんだけれどある日突然ビルドエラーが出るようになった。

OperationalError: Could not decode to UTF-8 column 'path' with text 'C:\Users\xxxxxx\My Documents\Titanium Studio Workspace\TableView\Resources\android\_5��\.picasa.ini'

フォルダ名に日本語が含まれると問題がでるみたい。
謝って Picasa のエクスポートを Titanium Studio のプロジェクト配下にしてしまったようで、さてこれはどうしたものか。

フォルダを削除してもこのエラーが出続ける。

WEBで検索すると同じ問題に陥った人は Titanium Studio の再インストールで解決した様子。
http://ti.masuidrive.jp/topic.php?id=7
さて、どうするか

ビルドログは正確には以下のような終わり方。
[ERROR] File "C:\ProgramData\Titanium\mobilesdk\win32\1.7.0\android\deltafy.py", line 141, in get_paths
[ERROR] rows = c.fetchall()
[ERROR] OperationalError: Could not decode to UTF-8 column 'path' with text 'C:\Users\xxxxxx\My Documents\Titanium Studio Workspace\TableView\Resources\android\_5��\.picasa.ini'

ということで deltafy.py で開いてソースを確認。
エラー箇所を上に上っていくと...
-----
if platform.system() == 'Windows':
home = os.environ['USERPROFILE']

class Deltafy:
db_home = os.path.join(home, '.deltafy')
db_path = os.path.join(db_home, 'deltas')
-----

ということで %USERPROFILE%\.deltafy\ を見ると確かに deltas というファイルが有ります。

これをリネームすると...

はい。解決です!
やれやれ。

0 件のコメント:

コメントを投稿