Portál AbcLinuxu, 12. května 2025 09:24
vim ~/.emacs
Slo o osetreni vystupu:
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")
Je to urcite dobra cesta, avsak nefunguji mi konstrukty typu:
print u"data v konfiguračním souboru %s jsou ve špatném formátu ".encode("utf-8") %(self.path)
chybova hlaska (v nativnim pythonovskem skriptu, ne ve zmrazenem!!!):
Traceback (most recent call last): File "run_BastControl_v1.py", line 183, in iniLoad self.loadIniStatus=self.conf.read(self) File "/home/vepro/vlrz/conf_BastlControl_v1.py", line 25, in read print u"data v konfiguračním souboru %s jsou ve špatném formátu ".encode("utf-8") %(self.path) UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position 11: ordinal not in range(128)konstrukty toho typu (bez formatovaciho retezce %s):
print u"přidávám větev do databáze".encode("utf-8")
Funguji spravne. Vi nekdo jak odladit i toto?
print unicode("data v konfiguračním souboru %s jsou ve špatném formátu ", "utf-8").encode("utf-8") %(self.path)
Mrkni se na Unicode HOWTO.
Zamyslíme se nad významem hlášky:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position 11: ordinal not in range(128)
Vzhledem k tomu, že na 11 pozici v řetězci není žádný nekorektní znak, tak bude nejspíš v self.path. Jaký řetězec obsahuje tato proměná? Když ho také předáš fci unicode, mělo by to šlapat:
unicode(self.path, "utf-8").encode("utf-8")
print u"konfigurační soubor %s nenalezen ".encode("utf8") %self.path.encode("utf8")
Traceback (most recent call last): File "/usr/lib/cx_Freeze/initscripts/Console.py", line 27, in module> exec code in m.__dict__ File "run_BastControl_v1.py", line 194, in module> File "run_BastControl_v1.py", line 22, in __init__ File "conf_BastlControl_v1.py", line 14, in read LookupError: unknown encoding: utf8
Re: unknown encoding: utf-8 error
[cx-freeze-users] cx_Freeze : LookupError: unknown encoding: ascii - httplib2.5
--include-module=encodings.utf_8
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.