Codierungs-Turbulenzen (Technics)

by wo2010, Monday, February 06, 2017, 17:26 (2598 days ago) @ Auge
edited by wo2010, Monday, February 06, 2017, 18:12

Hallo Auge,

Nur, um das klarzustellen. Das in dem Blogbeitrag skizzierte Fehlerszenario ist Bullshit!

da dachte ich nun (für mich): Ein blindes Huhn findet auch mal ein Korn ; -)

Ich weiß viel zu wenig, um das alles richtig würdigen und werten zu können. Hier ist auch nicht die Stelle, um meine mangelhaften PHP-Kenntnisse zu vertiefen.

Die Lösung aus dem Blogbeitrag entschärft zwar das einfache Anführungszeichen/Hochkomma, andere für MySQL relevante Zeichen aber nicht.

Hm, ich hatte mich in dem kritisierten Blogbeitrag "htmlspecialchars richtig nutzen – Fallstricke" (bei meiner ersten Linkangabe war leider das Komma mit reingerutscht) auf den hinteren Abschnitt "Encoding" gestürzt, der ja der vermeintlichen oder tatsächlichen Reparatur "unseres Problems" durch Sebastian & Co. am nahesten kam.

Ich muß noch einmal darauf zurück kommen. Unter "Encoding" (wie allerdings auch im davorliegenden Abschnitt "Das verflixte Hochkomma") wird die Verwendung von ENT_QUOTES statt ENT_COMPAT empfohlen. Das habe ich ja auch so umgesetzt - in der Annahme, die (vielleicht nur wenig) bessere Variante zu benutzen.

Rein äußerlich scheint auch alles ok. Wenn ich allerdings phpMyAdmin benutze oder in den SQLDump gucke, sieht die Sache schon sehr verschieden aus. Ich vergleiche mal den Inhalt bei Einträgen _vor_ und _nach_ meinem Reparaturversuch.

Textbeispiel: 'Hochkomma' "Anführung"

- phpMyAdmin
vorher: \'Hochkomma\' \"Anführung\"
nachher: 'Hochkomma' "Anführung"

- SQLDump
vorher: \\\'Hochkomma\\\' \\\"Anführung\\\"
nachher: \'Hochkomma\' \"Anführung\"

Da werden wohl ggf. die Backslashes mitcodiert.

Welche Variante ist/wäre denn nun "richtig"? Doch ENT_COMPAT?

Dank und viele Grüße
Wolfgang


Complete thread:

 RSS Feed of thread