Установить кодировку в сценариях Python 3 CGI

При написании Python 3.1 CGI-скрипта я столкнулся с ужасными UnicodeDecodeErrors. Однако при запуске скрипта из командной строки все работает.

Похоже, что open () и print () используют возвращаемое значение locale.getpreferredencoding () , чтобы узнать, какую кодировку использовать по умолчанию. При запуске в командной строке это значение - «UTF-8», как и должно быть. Но при запуске скрипта в браузере кодировка таинственным образом переопределяется на «ANSI_X3.4-1968», что кажется просто причудливым названием для простого ASCII.

Теперь мне нужно знать, как заставить cgi-скрипт работать с 'utf-8' в качестве кодировки по умолчанию во всех случаях. Моя установка - Python 3.1.3 и Apache2 в Debian Linux. Общесистемный языковой стандарт - en_GB.utf-8.

20
задан jforberg 17 February 2012 в 03:18
поделиться