mySQL Hochkomma Problem
mixmastertobsi
- html
- php
Hallo, ich habe ein Hochkomma Problem.
in der DB hat der Kunde folgenden Strassennamen angegeben "L'Erable 16".
Nun habe ich das Problem mit dem ', denn in der HTML-Ausgabe, werden hier zum Beispiel in einem onclick Event, durch das ', die onclick Anweisung geschlossen.
Beispiel <span onclick="test('L'Erable 16')">
Wie masiere ich am besten dieses '?
Hallo, ich habe ein Hochkomma Problem.
Das klingt, als ob du den Kontextwechsel nicht beachtest.
@@mixmastertobsi
in der DB hat der Kunde folgenden Strassennamen angegeben "L'Erable 16". Wie masiere ich am besten dieses '?
Anstatt dieses ' zu maskieren tust du vielleicht gut daran, das falsche ' durch einen richtigen Apostroph ’ zu ersetzen: L’Erable 16.
Probleme mit ' (und ") rühren meist daher, dass diese Zeichen in natürlichsprachigem Text vorkommen, wo sie gar nichts zu suchen haben.
LLAP 🖖
Hallo und guten Abend,
@@mixmastertobsi
in der DB hat der Kunde folgenden Strassennamen angegeben "L'Erable 16". Wie masiere ich am besten dieses '?
Anstatt dieses ' zu maskieren tust du vielleicht gut daran, das falsche ' durch einen richtigen Apostroph ’ zu ersetzen: L’Erable 16.
Probleme mit ' (und ") rühren meist daher, dass diese Zeichen in natürlichsprachigem Text vorkommen, wo sie gar nichts zu suchen haben.
Die Daten sind aber unantastbar! Außerdem gehören sie nicht ihm. Wö kämen wir denn da hin, wenn jeder Programmierer nach Gutdünken Datenbestände veränern würde?
:-D
Grüße
TS
@@TS
Die Daten sind aber unantastbar! Außerdem gehören sie nicht ihm. Wö kämen wir denn da hin, wenn jeder Programmierer nach Gutdünken Datenbestände veränern würde?
Bspw. ein d in ein Posting eines anderes einfügen würde‽ 😁 SCNR.
LLAP 🖖
hi,
in der DB hat der Kunde folgenden Strassennamen angegeben "L'Erable 16". Wie masiere ich am besten dieses '?
Anstatt dieses ' zu maskieren tust du vielleicht gut daran, das falsche ' durch einen richtigen Apostroph ’ zu ersetzen: L’Erable 16.
Probleme mit ' (und ") rühren meist daher, dass diese Zeichen in natürlichsprachigem Text vorkommen, wo sie gar nichts zu suchen haben.
Das kommt davon, dass ungebildete Kunden die des Umgangs mit der Natürlichen Sprache nicht mächtig sind, angeben können was sie wollen. Ich kenne ne Firma, da hat die Eingabe eines unnatürlichen Zeichens den ganzen Shop tagelang lahmgelegt. Wo kommen wir da hin!?
MfG
Tach!
in der DB hat der Kunde folgenden Strassennamen angegeben "L'Erable 16". Wie masiere ich am besten dieses '?
Anstatt dieses ' zu maskieren tust du vielleicht gut daran, das falsche ' durch einen richtigen Apostroph ’ zu ersetzen: L’Erable 16.
Das "anstatt" ist realitätsfern. Du wirst die Kunden nicht dazu bringen, diese Zeichen zu meiden und die korrekten zu verwenden. Und schon gar nicht, wirst du gegebenenfalls beteiligte Dritte dazu bringen können, auf die '
"
zu verzichten. Die Maskierung von Nicht-Literalen ist weiterhin/trotzdem notwendig.
Wie würde denn die vorgeschlagene Ersetzung funktionieren? Der Admin nimmt die Daten auf einem Blatt Papier entgegen und tippt sie selbst orthographnisch korrekt ein?
Probleme mit ' (und ") rühren meist daher, dass diese Zeichen in natürlichsprachigem Text vorkommen, wo sie gar nichts zu suchen haben.
Kann durchaus sein. Aber eine funktionierende Lösung dagegen gibt es nicht, außer sie ordnungsgemäß zu maskieren.
dedlfix.
Tach!
in der DB hat der Kunde folgenden Strassennamen angegeben "L'Erable 16". Wie masiere ich am besten dieses '?
Anstatt dieses ' zu maskieren tust du vielleicht gut daran, das falsche ' durch einen richtigen Apostroph ’ zu ersetzen: L’Erable 16.
Das "anstatt" ist realitätsfern. Du wirst die Kunden nicht dazu bringen, diese Zeichen zu meiden und die korrekten zu verwenden.
Dass die Kunden falsche Zeichen eingeben kann ja auch daran liegen, dass die richtigen Zeichen auf der Tastatur gar nicht drauf sind.
MfG
@@dedlfix
Anstatt dieses ' zu maskieren tust du vielleicht gut daran, das falsche ' durch einen richtigen Apostroph ’ zu ersetzen: L’Erable 16.
Das "anstatt" ist realitätsfern. Du wirst die Kunden nicht dazu bringen, diese Zeichen zu meiden und die korrekten zu verwenden.
Natürlich nicht. Ein Grund ist – wie Hotti richtig anmerkte – dass die Zeichen nicht intuitiv per Tastatur einzugeben sind.
Es ging mir aber nicht darum, dass der Kunde bei der Eingabe ’ statt ' verwendet, sondern dass nach der Eingabe ' durch ’ ersetzt wird.
Wie würde denn die vorgeschlagene Ersetzung funktionieren? Der Admin nimmt die Daten auf einem Blatt Papier entgegen und tippt sie selbst orthographnisch korrekt ein?
Bei wenigen Daten wäre eine manuelle Pflege ein gangbarer Weg. Bei mehr als wenigen Daten müsste das natürlich automatisiert geschehen.
Bei " wird es die Ersetzung von ' "' durch ' „' sowie von '" ' durch '“ ' (bei deutschen Texten) tun.
Bei ' ist das nicht so einfach, da das sowohl Apostroph als auch öffnendes als auch schließendes Anführungszeichen sein könnte. Da aber einfache Anführungszeichen nicht so häufig verwendet werden, könnte man das vernachlässigen und alle ' durch ’ ersetzen.
LLAP 🖖
Hallo und guten Tag,
Probleme mit ' (und ") rühren meist daher, dass diese Zeichen in natürlichsprachigem Text vorkommen, wo sie gar nichts zu suchen haben.
Kann Das sein, dass Ihr (die das nicht verstehen können) noch zu jung seid? Es gibt noch Leute aus Generationen, die ca. von der Lochkarte (~1910) bis hin zu Word 2.0 für Windows (~1990), also ca. 90 Jahre lang auf ASCII (7 Bit) und E-ASCII (8 Bit) mit diversen Codepages konditioniert wurden. Damals hatte man sich an Datensparsamkeit und Reduzierung auf das Wesentliche (RDS, Reduced Data Set) zu halten.
Das Ergebnis dieser Konditionierung wurde nach 1990 aber weiter portiert und steckt in vielen Büchern und Datensammlungen, speziell aber in Programmen und den Köpfen derer Programmierer.
Da kannst Du nicht erwarten, dass wir nun plötzlich akzeptieren, dass Entropie in der Darstellung wieder aktuell sein soll. Und ich persönlich gleube auch noch nicht daran, dass wir uns damit einen Gefallen getan haben. Wären die Amis bei ASCII + Codepages geblieben, wäre es unwahrscheinlich, dass sich heute Leute, wie Mitglieder des IS, per Computer austauschen könnten.
Grüße
TS
@@TS
Probleme mit ' (und ") rühren meist daher, dass diese Zeichen in natürlichsprachigem Text vorkommen, wo sie gar nichts zu suchen haben.
Kann Das sein, dass Ihr (die das nicht verstehen können) noch zu jung seid? Es gibt noch Leute aus Generationen, die ca. von der Lochkarte (~1910) bis hin zu Word 2.0 für Windows (~1990), also ca. 90 Jahre lang auf ASCII (7 Bit) und E-ASCII (8 Bit) mit diversen Codepages konditioniert wurden. Damals hatte man sich an Datensparsamkeit und Reduzierung auf das Wesentliche (RDS, Reduced Data Set) zu halten.
Kann das sein, dass du zu jung bist? Die weitgehende Verwendung von ' und " in Eingaben auf Computern hat ihren Ursprung nicht in Datensparsamkeit, sondern in Typenhebelnsparsamkeit. Auf Schreibmaschinen (ab 19. Jahrhundert) gab es schon keine richtigen Apostophen und Anführungszeichen. Das wurde für Computertastaturen so übernommen.
Und ich persönlich gleube auch noch nicht daran, dass wir uns damit einen Gefallen getan haben. Wären die Amis bei ASCII + Codepages geblieben, wäre es unwahrscheinlich, dass sich heute Leute, wie Mitglieder des IS, per Computer austauschen könnten.
Soll man daraus jetzt lesen, dass du es besser finden würdest, wenn es keine arabische Schrift auf Computern geben würde? Keine hebräische, chinesische, japanische? Was ist mit griechischer und kyrillischer? Was mit deutschen Umlauten?
Wenn das dein Gedanke sein sollte, ist er rassistisch.
LLAP 🖖
Beispiel <span onclick="test('L'Erable 16')">
Wie masiere ich am besten dieses '?
Machen wir es gleich komplizierter:
Eingabe: L'Erable 16 chez "Meier"
Funktionierende Ausgaben:
<span onclick="test('L\'Erable 16 chez "Meier"');">klick</span><br>
<span onclick="test('L\'Erable 16 chez "Meier"');">klick</span>
Lösungswege: htmlpecialchars, str_replace
Was Du zu tun hast ist abhängig von dem, was du in test(string)
vor hast. Der Kontextwechsel ist ein unterschätztes Problem.