<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-2" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Diky za nakopnuti. Bylo to opravdu tim, avsak mam s tim jeste potize.
Konkretne se syntaxi takoveho typu:<br>
<br>
print u"data v konfiguračním souboru %s jsou ve špatném formátu
".encode("utf-8") %(self.path)<br>
<br>
chybova hlaska (v nativnim pythonovskem skriptu, ne ve zmrazenem!!!):<br>
<br>
Traceback (most recent call last):<br>
File "run_BastControl_v1.py", line 183, in iniLoad<br>
self.loadIniStatus=self.conf.read(self)<br>
File "/home/vepro/vlrz/conf_BastlControl_v1.py", line 25, in read<br>
print u"data v konfiguračním souboru %s jsou ve špatném formátu
".encode("utf-8") %(self.path)<br>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position
11: ordinal not in range(128)<br>
<br>
konstrukty toho typu (bez formatovaciho retezce %s):<br>
<br>
print u"přidávám větev do databáze".encode("utf-8")<br>
<br>
Funguji spravne<br>
<br>
<br>
<blockquote cite="mid:48D3FF87.2030000@sandbox.cz" type="cite">
<pre wrap="">Petr Zlamal wrote:
</pre>
<blockquote type="cite">
<pre wrap="">Pratele,
Ve skriptu pouzivam prikaz print v takovemto formatu:
print unicode("konfigurační soubor: ","utf-8")
Skript funguje tak jak ma. Problem nastane az s binarkou, kterou
vytvorim pomoco cx_freeze. Po spusteni binarky se vypise chyba:
UnicodeEncodeError: 'ascii' codec can't encode character u'\u010d' in
position 9: ordinal not in range(128)
Vi nekdo jak odladit tento problem, krom vyhozeni ceskych znaku:))
</pre>
</blockquote>
<pre wrap=""><!---->
Vy sice dekodujete z UTF-8 do unicode, ale vystupni enkodovani nechavate
anarchii. Prostredi, ve kterem nefreeznuty skript poustite, zrejme
pouziva takove vychozi kodovani, ktere je kompatibilni a "nejak" se to
prelozi.
Kazdopadne byste mel osetrit vystup: Tedy za znalosti kodovani, ktere
zvlada zobrazit terminal, na kterem skript bezi upravte skript takto:
print unicode("konfigurační soubor: ","utf-8").encode("utf-8")
pokud mate na zacatku skriptu definovane kodovani zdrojaku, melo by
stacit toto:
print u"konfigurační soubor".encode("utf-8")
</pre>
<pre wrap="">_______________________________________________
Python mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Python@py.cz">Python@py.cz</a>
<a class="moz-txt-link-freetext" href="http://www.py.cz/mailman/listinfo/python">http://www.py.cz/mailman/listinfo/python</a></pre>
</blockquote>
<br>
</body>
</html>