[python] Problém s českými znaky v cgi scriptu

Hynek Fabian hynek.fabian na firma.seznam.cz
Úterý Únor 28 12:42:33 CET 2012


Když vidím v kódu řetězcový literál, začal bych tím jestli má zdroják
stejné kódování jaké očekává interpret. Mrkni na to v hexeditu nebo
použij zápis codepointu:

n='\u017e'.encode("utf8")

On 02/27/12 20:42, Tomáš Kácel wrote:
> 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




Další informace o konferenci Python