У меня есть репозитории Mercurial, работающие на Apache с mod_wsgi. Репозитории имеют все имена файлов, закодированные в windows-1251. Эта кодировка используется по историческим причинам: они были преобразованы в Mercurial из SVN, Windows-1251 является кодировкой Windows по умолчанию для русской локали.
Теперь программисты хотят использовать инструмент Crucible для проверки кода. Он не может понимать имена файлов в любой другой кодировке, кроме utf-8. Поэтому мне нужно конвертировать их из windows-1251 в utf-8. Кто-нибудь знает как это сделать? Расширение Mercurial для конвертации не имеет опций для конвертации кодировок.
hgweb.config:
[web]
#encoding = UTF-8
encoding = windows-1251
#allow_archive = gz, zip, bz2
allow_archive = zip
allow_push = *
push_ssl = false
[extensions]
[collections]
/data/mercurial = /data/mercurial
encoding = windows-1251
на encoding = UTF-8
только что сделанное имя файла нечитаемым. Это потому, что они хранятся в Windows-1251. "UTF-8" os.environ ["HGENCODING"] = "UTF-8" равно этому параметру.