Пишу post-commit hook для местного репозитария SVN'а. По ходу вычисляю некоторую переменную, которая есть строка. При отладке, если запускаю из командной строки через sudo от имени пользователя www-data (Apache, которые раздаёт SVN), всё выводит нормально. Но вот если сделать коммит, то в письме эта переменная пишется как
Добавил # codepage=UTF8, теперь не хочет видеть кириллицу в коде
$ sudo -u www-data ./post-commit /var/svn/repos/sandbox 43
File "./post-commit", line 53
SyntaxError: Non-ASCII character '\xd0' in file ./post-commit on line 53, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
>> Попробуй разные комбинации unicode(yourstring, "utf-8")
> А это не то же самое что encode() или decode()?
Как выяснилось, нет. У меня, правда, была проблема с OptionParser в FC4 и Lenny, но ни одна комбинация encode/decode не срабатывала, а вот unicode() помог.
Ну и повторюсь - все эти упраженния с Питоном нужно делать после того, как svn log покажет, что мессага закодирована с ошибкой.
>При отладке, если запускаю из командной строки через sudo от имени пользователя www-data (Apache, которые раздаёт SVN), всё выводит нормально. Но вот если сделать коммит, то в письме эта переменная пишется как