Zkusil bych něco takového: http://stackoverflow.com/a/4374457/196206
Tedy sys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach()) Zřejmě pak nebude nutné používat str.encode(). Ad "Myslel jsem, že python3 funguje na utf-8" - Python 3 pracuje s unicode, to, jaké kódování používá pro komunikaci s okolím, si domýšlí z proměnných prostředí, případně z nějakého nastavení. PM 2012/2/27 Tomáš Kácel <kicl...@gmail.com>: > Zdravím, > dostal jsem problém při zobrazování českých znaků v cgi scriptu, > hledal jsem na internetu nějaká řešení co s tím, ale nějak jsem > nepochodil. Například v takovémto jednoduchém kódě: > > #!/usr/bin/env python3 > > #print ('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional// > EN">') > print ('Content-type:text/html; charset="utf-8"\r\n\r\n') > print ('<html>') > print ('<head>') > print ('<title>Vyhledava</title>') > print ('</head>') > print ('<body>') > n="ž".encode("utf-8") > print(n) > print(n.decode()) > print ('<h2>This is my CGI program</h2>') > print ('</body>') > print ('</html>') > > Při otevření v prohlížeči se nezobrazí vůbec nic, protože to selže na > znaku ž, bez řádku s vypsáním znaku ž se zobrazí: this is my cgi > program. 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. > Děkuji za radu, nějak nevím co s tím. > S přáním pěkného dne > T. Kácel > _______________________________________________ > Python mailing list > Python@py.cz > http://www.py.cz/mailman/listinfo/python _______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python