Tomáš Kácel napsal... >[...] Myslel jsem, že python3 funguje na utf-8 a neměl by mít s >čekými znaky problém, stejně tak prohlížeč je nastaven na utf-8.
Python 3 pracuje s unicode řetězci. UTF-8 je jedno z možných kódování unicode řetězců, když je potřeba je za fyzicky zaznamenat a nepracovat s nimi jako s posloupnostmi znaků v abstraktním smyslu. To znamená, že před odeslání mimo vnitřní paměť pythonovského procesu musí dojít k převodu na posloupnost bajtů (například metodou .encode()). Funkce print() je ale napojená na výstupní stream (standardně sys.stdout), který rovněž používá nějaké kódování řetězců (v závislosti na OS a jeho konfiguraci). Funkce print() se ale sama snaží převést unicode řetězec do onoho (skrytého) výstupního kódování. Z těchto důvodů není ke generování výstupního HTML souboru vhodné používat funkci print(). Lepší je otevřít výstupní textový soubor f pro kódování UTF-8 a zapisovat do něj metodou f.write(s) Doporučuji si přečíst http://diveintopython3.py.cz/strings.html a http://diveintopython3.py.cz/files.html P. _______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python