dedlfix: funktion um php sensibele zeichen zu entschärfen?

Beitrag lesen

echo $begrüßung;

Sensiebele Zeichen sind alle Zeichen die in PHP für irgendwas reserviert sind %,/,usw.

Da haben wir das Missverständnis. Es gibt keine reservierten Zeichen in PHP. Je nach Kontext haben einige Zeichen unterschiedliche Bedeutung, aber sie sind nicht für die mit PHP zu verarbeitenden Daten gesperrt. Allenfalls muss man sie in besonderer Weise kennzeichnen, damit sie sich von Zeichen, die im aktuellen Kontext eine Bedeutung haben, unterscheiden kann. Beispielsweise muss einem ' in einem mit '' eingerahmten String ein \ vorangestellt werden.

Ich hab nur so mega probleme damit, da windows meinen csv Dateien so schöne namen wie "Über uns" gibt, wenn meine scripte utf-8 verwenden.

Meinst du vielleicht Zeichen, die in einem Dateinamen nicht vorkommen dürfen? Das ist aber keine Einschränkung, die PHP zu verantworten hat. In diesem Fall wäre die Beschreibung des Dateisystems/Betriebssystems zu Rate zu ziehen.

Außerdem geht aus deinen Ausführungen nicht hervor, was du da für eine Umstellung machst, so dass man das Problem, das du hast, nachvollziehen könnte, und dir somit aus der eigenen Erfahrung die Fallstricke und Umgehungsmöglichkeiten aufzuzeigen.

Naja wie dem auch sei ist alles egal, das einzig vernüftige was ich dabei noch lernen könnte, ist wie man Zeichen aus dem utf-8 Vorrat ersatzweise darstellen kann.
Also wie die umlaute als ü (k.a. ob das richtig is.. prinzipiell halt) darstellen kann, könnte es ja auch sein das es auch ersatzbezeichnungen für den utf8 vorrat gibt.

Es ist stark kontextabhängig, ob eine Ersatzschreibweise nötig ist, und wenn ja, wie diese auszuführen ist. Der Kontext ist aber eher außerhalb PHPs zu suchen, beispielsweise in HTML, XML, Javascript. Für alle drei aufgezählten Kontexte gelten eigene Regeln.

Oder meinst du die Bytewerte, die für ein bestimmtes Zeichen verwendet werden, wenn es gemäß UTF-8 kodiert ist? Oder meinst du, welche Zeichen für diese Byte-Werte genommen werden, wenn du dir eine UTF-8-Bytefolge in ein Editor ansiehst, der gerade auf eine andere Zeichenkodierung eingestellt ist?

Wenn bei mir das Zeichen U die Codierung 815 hätte, und du eine (De-)Kodierungsvorschrift zu Rate ziehst, die dir daraus ein X macht, dann kann das auf den ersten Blick so aussehen, als ob es eine "Ersatzschreibweise" für das U gäbe. Doch hier haben dir einfach nur die verschiedenen Kodierungssysteme ein X für ein U vorgemacht.

echo "$verabschiedung $name";