Python CGI-Script versteht keine Umlaute

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
snakeseven
User
Beiträge: 408
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

Hallo,

@Gerold: Ich speichere die Scripte immer dem eingetragenen Coding entsprechend. Deswegen kapier ichs ja nicht :roll:

@Jens: UTF-8 Cookie hatte ich in meiner Verzweifelung auch schon probiert. Hat leider nichts gebracht :(

Grüsse, Seven
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

snakeseven hat geschrieben:@Gerold: Ich speichere die Scripte immer dem eingetragenen Coding entsprechend. Deswegen kapier ichs ja nicht :roll:
Hi Seven!

Das einzige, was mir jetzt noch einfällt ist, dass du evt. ein Betriebssystem verwendest, das mit "utf-8" nichts anfangen kann.

Der Befehl ```locale -a``` gibt darüber Aufschluss.

Aber auch dann, wenn "utf-8" nicht aktiviert ist, falls man da so nennen darf, dann müsste es ja doch alles funktionieren wenn du "iso-8859-15" oder "iso-8859-1" (ohne Euro-Zeichen) verwendest.

Dann verstehe ich aber diese Aussage von dir nicht:
Hi, ich habe mir einige Threads zu diesem Thema angesehen, aber ich kann meinem CGI-Script keine Codieranweisung # -*- coding: iso-8859-1 -*-mitgeben, weil es dann unter Apache2 nicht mehr ausführbar ist.
Seven, zeig uns doch bitte mal ein wenig Quellcode.
Quellcode der funktioniert und Quellcode der nicht mehr funktioniert. (Bitte nicht nur die ersten zwei Zeilen.)
Es muss ja nicht das ganze Programm sein. Vielleicht hängt es ja nur an einer Kleinigkeit, wie z.B. ein vergessender Bindestrich, ein Leerzeichen am Ende einer Zeile zu viel oder soetwas.

lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Ich glaub kaum, dass sein Problem was mit dem Charset Cookie zu tun hat. Ich tipp da schon eher auf übergabe von unicode strings, wo zuerst ein explizites str() gemacht wird. Oder mischen von unicode/str objekten...

Charsets sind ein heißes Kapitel
TUFKAB – the user formerly known as blackbird
snakeseven
User
Beiträge: 408
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

Hi,
tatsächlich bekomme ich nur auf dem VServer die UTF-8 CGIs nicht zum Laufen. Auf dem heimischen Linux/Apache ist alles tutti. Habe auf dem Server mal "locale -a" eingegeben und das hier bekommen (nur utf-8 Zeilen):

Code: Alles auswählen

es_EC.utf8
es_ES.utf8
es_GT.utf8
es_HN.utf8
es_MX.utf8
es_NI.utf8
es_PA.utf8
es_PE.utf8
es_PR.utf8
es_PY.utf8
es_SV.utf8
es_US.utf8
es_UY.utf8
es_VE.utf8
et_EE.utf8
eu_ES.utf8
fa_IR.utf8
fi_FI.utf8
fo_FO.utf8
fr_BE.utf8
fr_CA.utf8
fr_CH.utf8
fr_FR.utf8
fr_LU.utf8
ga_IE.utf8
gl_ES.utf8
gv_GB.utf8
he_IL.utf8
hi_IN.utf8
hr_HR.utf8
hu_HU.utf8
id_ID.utf8
is_IS.utf8
it_CH.utf8
it_IT.utf8
iw_IL.utf8
ja_JP.utf8
kl_GL.utf8
ko_KR.utf8
kw_GB.utf8
lt_LT.utf8
lv_LV.utf8
mk_MK.utf8
ml_IN.utf8
mn_MN.utf8
mr_IN.utf8
ms_MY.utf8
mt_MT.utf8
nb_NO.utf8
ne_NP.utf8
nl_BE.utf8
nl_NL.utf8
nn_NO.utf8
no_NO.utf8
om_ET.utf8
pa_IN.utf8
pl_PL.utf8
pt_BR.utf8
pt_PT.utf8
ro_RO.utf8
ru_RU.utf8
ru_UA.utf8
se_NO.utf8
sh_YU.utf8
sid_ET.utf8
sk_SK.utf8
sl_SI.utf8
so_ET.utf8
sq_AL.utf8
st_ZA.utf8
sv_FI.utf8
sv_SE.utf8
ta_IN.utf8
te_IN.utf8
th_TH.utf8
ti_ER.utf8
ti_ET.utf8
tig_ER.utf8
tr_TR.utf8
tt_RU.utf8
uk_UA.utf8
ur_PK.utf8
vi_VN.utf8
wa_BE.utf8
xh_ZA.utf8
zh_CN.utf8
zh_HK.utf8
zh_SG.utf8
zh_TW.utf8
zu_ZA.utf8
Mit ISO-8859-1 gehts. Meine alte Aussage, daß Apache2 das nicht mag hat sich erledigt. Da hatte ich tatsächlich nicht in dem Codec abgespeichert, den ich angegeben hatte.

Gruss, Seven
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Wenn du doch einen VServer hast, dann probier doch erstmal außerhalb von Apache ein kleines Test-Skript auf der Konsole!

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

snakeseven hat geschrieben:Habe auf dem Server mal "locale -a" eingegeben und das hier bekommen (nur utf-8 Zeilen):

Code: Alles auswählen

es_EC.utf8
es_ES.utf8
es_GT.utf8
...
zh_TW.utf8
zu_ZA.utf8
Hi Seven!

Weißt du, was ich in dieser Liste nicht finde? Die DE-Einträge. Das muss aber nichts bedeuten.

Code: Alles auswählen

C
de_DE
de_DE@euro
de_DE.iso88591
de_DE.iso885915@euro
de_DE.utf8
de_DE.utf8@euro
POSIX
Mir fällt nichts mehr ein.

lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
snakeseven
User
Beiträge: 408
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

Also, die Sache mit den fehlenden "de" Einträgen werde ich noch verfolgen. Ein UTF-8 Testscript außerhalb des Apachen lief fehlerfrei, das ist ja schonmal ein Anhaltspunkt !

Aber ich sage jetzt einfach mal "Danke" für die vielen Mühen, die ihr euch mit meinem Problem gemacht habt. Werde erstmal mit iso-8859-1 weitermachen und so nach und nach der Sache auf den Grund gehen.

Gruss, Seven
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Ich würde mir dann mal einen neuen VirtualHost in Apache machen und damit mal rumspielen ;)

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Ach, zum Encoding Zeug schau mal hier:
http://python.net/pipermail/python-de/2 ... .html#7661

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten