Webstatt.org - Community seit 2006 - 2012 (2024?)

Probleme mit Zeichenkodierung

Avatar user-124
06.03.2006 12:11

Hallo zusammen.

Ich versuche verzweifelt, ein paar Zeichen vernünftig anzeigen zu lassen, scheitere dabei allerdings kläglich.

Eigentlich ist mein Code jetzt schon zu unübersichtlich, um zu beschreiben, was da vor sich geht, aber ich versuche es trotzdem: Mein Parser gibt die Zeichen in Iso- Irgendwas (der Standard halt) zurück, ich muss diese Rückgabe aber per GET an ein Javascript übertragen, dass damit nichts anfangen kann. Also versuche ich, die Zeichenkette mit urlencode() in PHP zu verschlüsseln und mit JS wieder zu entschlüsseln, was natürlich nicht geht, da die JS- Funktion escape() mit urlencode() von PHP nichts gemein hat.
Also bin ich dazu übergegangen, die Sonderzeichen per RegExp zu ersetzen, doch auch das klappt nur teilweise, wie ihr auf dem Bild sehen könnt.
*kotz*

Also: Kennt jemand eine Funktion (php?) mit der ich meine Sonderzeichen verschlüsseln kann, so das JS sie liest? Und Achtung: Diese Funktion darf die niemals nicht HTML- Relevante Zeichen kodieren, "<" und ">" müssen mir also erhalten bleiben.

Ich hoffe auf eure Empathie, die Fähigkeit, das Problem, das ich selbst so wenig verstehe, dass ich es nicht beschreiben kann, zu erfassen und zu lösen.


hochachtungsvoll,

Barabbas

Avatar user-124
06.03.2006 12:15

Sensationell.

Ich weiß nicht, was passiert ist, aber ich habe das Problem vorerst dadurch gelöst, dass ich in nachfolgender Zeile die 27 durch eine 26 ersetzt habe.

$str = preg_replace('/[^!-%\x27-;=?-~ ]/e', '"&#".ord("$0"zwinkern.chr(59)', $str);


Keine Ahnung, finde ich ziemlich professionell von mir, auf gut Glück ein paar Zahlen auszutauschen!

Heureka! Wer erklärts mir?

brb

Avatar user-255
06.03.2006 13:06

Konvertiere die Ausgabe einfach mit utf8_encode() in UTF-8 und dekodiere den String in JavaScript lächeln

Nur ist mir nicht ganz klar wie du per GET etwas an ein JavaScript übergeben willst... JS is schließlich clientseitig.
Ich schätze mal, du meinst, dass du per PHP das entsprechende JavaScript generierst.. oder so zwinkern

Eleganter ginge das ganze dann mit "Ajax" - und es spart Traffic bei Clients, die JS deaktiviert haben Fettes Grinsen

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
Avatar user-124
06.03.2006 13:48

das ganze *ist* Ajax und mein JS sendet eine Get- Anfrage an mein PHP- Script.

Danke, Zero hat mir zu base64 geraten, werde beide Lösungen bei Zeiten testen