Ersetzen von Anführungszeichen

  • Zur Zeit werden nach der Eingabe des Verwendungszwecks unter Details innerhalb der Buchungsliste sowohl das typografische Anführungszeichen (Shift-2)(") als auch das typografische Apostroph (Shift-#)(') jeweils durch ein Leerzeichen ersetzt.


    Ich würde es jedoch besser finden, wenn das typografische Anführungszeichen (Shift-2) (")durch das englische doppelte Anführungszeichen (ALT+0148)(”) ersetzt wird und das typografische Apostroph (Shift-#)(') durch das typografisch korrekte Apostroph (Alt+0146)(’), da diese beiden Zeichen den Ursprungszeichen ähnlicher sind als ein Leerzeichen.

  • Hallo arges,


    gemäß DTA-/DTAZV-Spezifikationen sind die genannten Zeichen für den Verwendungszweck nicht zugelassen. Aus diesem Grund ersetzt Mein Geld diese durch ein Leerzeichen. Auszüge aus diesen Spezis befinden sich auf vielen Internetseiten der Banken, so z.B. dieser hier:


    Zulässige Zeichen bei Inlandsüberweisungen (DTA)
    Zulässige Zeichen bei EU-Überweisung (DTAZV)


    Gruß
    Jürgen

    [size=8]• Ich beantworte keine Programmfragen per PN! Fragen gehören ins Forum - dann haben alle etwas davon! •

  • Hallo Jürgen,


    ist es nicht komisch, sobald in einem Beitrag die Stichwörter Verwendungszweck und 'Zeichen ersetzen' fallen, dann geht jeder Leser automatisch davon aus, dass es sich hierbei um eine Überweisung handelt!
    Da wird der Rest des Textes dann einfach überlesen.


    So ist es auch dem Herrn vom Support zuerst ergangen als ich folgende Anfrage stellte:

    Zitat

    Sehr geehrte Damen und Herren,


    beim Ausfüllen des Verwendungszwecks eines Offline-Kontos unter Details in der Buchungsliste ist mir aufgefallen, dass sowohl die Gänsefüßchen (Shift-2) als auch das Apostroph (Shift-#) nach der Übernahme mittels des OK-Buttons jeweils durch ein Leerzeichen ersetzt werden.
    Können Sie mir bitte den Grund für dieses Verhalten erläutern?


    Die Antwort vom Support lautete:

    Zitat

    Das Programm unterscheidet nicht zwischen Online-Konten und Offline-Konten. Die nicht zugelassenen Sonderzeichen werden daher vom Programm herausgefiltert.



    Da ich diese Antwort nicht erwartete habe ich meine Frage an einem Beispiel wie folgt neu formuliert:


    Daraufhin habe ich vom Support folgende Antwort erhalten:

    Zitat

    Diese Sonderzeichen sind im Online-Zahlungsverkehr nicht zugelassen und haben darüber hinaus auf Datenbankebene eine zusätzliche Bedeutung - im Gegensatz zu dem Semikolon. Da es nicht vollkommen ausgeschlossen ist, dass diese Sonderzeichen zum Beispiel mittels Import versucht werden, in die Datenbank aufzunehmen und werden sie speziell behandelt. Dies geschieht in diesem Fall durch das Ersetzen mit Leerzeichen


    Da es sich hierbei nicht um eine Überweisung handelt und andere Sonderzeichen auch nicht ersetzt werden, sondern nur die Gänsefüßchen (Shift-2) und das Apostroph (Shift-#), gehe ich nun davon aus, das diese Sonderzeichen auf Datenbankebene eine zusätzliche Bedeutung haben. Es ist auch ohne weiteres möglich, die von mir vorgeschlagenen Ersatzzeichen zu verwenden. Nur die Handhabung ist halt ein wenig komplizierter. Daher habe ich diesen Vorschlag hier eingebracht.


    Wohlgemerkt: Hierbei handelt es sich um eine Änderung des Verwendungszwecks unter Details in der Buchungsliste!


    Nachdem ich das Verhalten des Formulars 'Überweisungsauftrag erstellen' bei der Eingabe des Verwendungszwecks mit den Information, die ich Deinen Links entnehmen konnte, verglichen habe, ist mir folgendes aufgefallen:
    Zulässige Zeichen bei Inlandsüberweisungen
    - MG erlaubt auch Kleinbuchstaben, obwohl sie nicht zugelassen sind.
    - Die zugelassenen Umlaute werden durch MG ersetzt.
    - Die Gänsefüßchen und das Apostroph werden durch ein Leerzeichen ersetzt während alle anderen Sonderzeichen gelöscht werden.

  • Hallo,


    Zitat

    gehe ich nun davon aus, das diese Sonderzeichen auf Datenbankebene eine zusätzliche Bedeutung haben


    Ja, das haben Sie:


    select * from tabelle where feld='kriterium'



    insofern würde ein ' in der DB u.U. zu Fehlern führen. Bei PHP wüßte ich wie man die Zeichen kodiert. K.A. ob das bei der Wiso MG Datenbank auch funktionieren würde.


    Grüße


    Sandro

  • Zitat von "arges"

    ist es nicht komisch, sobald in einem Beitrag die Stichwörter Verwendungszweck und 'Zeichen ersetzen' fallen, dann geht jeder Leser automatisch davon aus, dass es sich hierbei um eine Überweisung handelt!
    Da wird der Rest des Textes dann einfach überlesen.


    Du hast natürlich Recht. Asche auf mein Haupt. :oops:


    Zitat von "arges"

    Zulässige Zeichen bei Inlandsüberweisungen
    - MG erlaubt auch Kleinbuchstaben, obwohl sie nicht zugelassen sind.
    - Die zugelassenen Umlaute werden durch MG ersetzt.
    - Die Gänsefüßchen und das Apostroph werden durch ein Leerzeichen ersetzt während alle anderen Sonderzeichen gelöscht werden.


    Das Mein Geld Klein- in Großbuchstaben umwandelt würde ich mir auch wünschen. Momentan achte ich selber drauf, nur Großbuchstaben zu verwenden. Vorzugsweise allerdings, um meiner Buchungsliste eine "saubere" Ansicht zu verpassen. :wink:


    Umlaute sind erlaubt, erinnere mich aber daran, das es in der Vergangenheit auf manchen Systemen dennoch zu einer Ablehnung des Auftrags kam. Sollte man also vermeiden.


    Gruß
    Jürgen

    [size=8]• Ich beantworte keine Programmfragen per PN! Fragen gehören ins Forum - dann haben alle etwas davon! •

  • Zitat von "SaSue"

    Bei PHP wüßte ich wie man die Zeichen kodiert. K.A. ob das bei der Wiso MG Datenbank auch funktionieren würde.


    Hm, um bei deinem Beispiel zu bleiben müsste das ungefähr so aussehen:


    select * from tabelle where feld=""'kriterium'""


    und das geht auch ...


    select * from tabelle where feld=""'Zeitschrift c't 7/2007'""


    aber ...


    select * from tabelle where feld=""'Tina's c't 7/2007'""


    ergibt einen Fehler, weil mehr als ein Apostroph drin vorkommt. Falls ich jetzt komplett daneben liege, lasse ich mich gern korrigieren.


    Gruß
    Jürgen

    [size=8]• Ich beantworte keine Programmfragen per PN! Fragen gehören ins Forum - dann haben alle etwas davon! •

  • Nein, im Falle MySql/PHP ist es hier erklärt:


    <!-- m --><a class="postlink" href="http://dev.mysql.com/doc/refman/5.1/de/string-syntax.html">http://dev.mysql.com/doc/refman/5.1/de/ ... yntax.html</a><!-- m -->



    Nicht so einfach :-/


    Aber ich kann darauf verzichten. Wenn ich mir die c't Kaufe darf im VWZ gern ct stehen - weiß trotzdem was ich gekauft habe ...


    Grüße


    Sandro

  • Ich denke nicht, dass es was mit der select-Anweisung zu tun hat.
    Denn als Notiz kann ich ohne weiteres ein Gänsefüßchen angeben und auch danach erfolgreich suchen.
    Und das wäre ja wohl nicht möglich, wenn die Entwickler die Datenbankabfrage nicht im Griff hätten, oder?