Что бы добиться правильного русского текста в генерируемом html, нужно исходные rst-тексты оформлять в кодировке utf8 и не трогать настройки кодировки в conf.py. В частности не стоит раскоментировать строку source_encoding:
# The encoding of source files. # source_encoding = 'utf8'Раскоментирование этой строки дает неприятный нюанс: если файл начинается с utf-префикса, то символы utf-префикса (0xEF 0xBB 0xBF) будут считаться обычными символами, в результате чего sphinx начинает неправильно обрабатывать визуально вроде правильный синтаксис rts. Например, если в самом начале файла есть текст:
Заголовок =========то перед "
Заголовок" присутствуют еще 3 символа (невидимых), в итоге sphinx ругается, что "Заголовок" короче, чем "=========".