tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
552
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    DrMueller DrMueller ist offline Mitglied Brokat
    Registriert seit
    Aug 2006
    Beiträge
    396
    Hallo Leute,
    folgendes Problem: Ein Kunde erhält regelmässig kyrilische Emails mit eben so geschriebnen Dateianhängen.
    Bei den Dateianhängen haben wir das Problem, dass der Text nicht erkennbar ist, daher haben wir beschlossen, dass bei solchen Attachment-Namen einfach unsere Beschriftung verwendet wird un diese ggf. vom Kunden nachträglich geändert werden kann.

    Da wir etwas unter Zeitdruck stehen, wird die Holzhammer Methode verwendet: Zeichen auslesen und falls ein Rest an korrekten Zeichen übrig bleibt, diesen als Dateinamen verwenden, sonst eben unsere Beschriftung.

    Ein Name sieht ca. so aus:

    ontract ?-? 11? 21.10.09.rtf

    Nun hätte ich einfach ein replace auf Fragezeichen, Punkte und Leerzeichen gemacht, doch die Fragezeichen werden nicht als solche erkannt.

    Hier zum Beispiel die Ausgabe aus dem Direktfenster:

    ?dateiname
    ?ontract ?-? 11? 21.10.09.rtf
    ? Replace(dateiname, chr(63), "")
    ?ontract ?-? 11? 21.10.09.rtf

    Habt ihr eine Idee, wie ich solche Zeichen rausfiltern kann? Habs über kompilierte Wege versucht, aber wirklich sauber arbeiten tut nichts.
     

  2. #2
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Da auch dann wenn man diese Zeichen filtern kann nichts gescheites rauskommt, warum macht ihr euch dann die Arbeit. Benennt die Dateien doch einfach irgendwie anders und gut.
    Ihr habt ein Problem gelöst und der Kunde kann die Dateien umbenennen wenn er will und ist auch zufrieden.

    Wobei ich diese Woche ein ähnliches Problem in Excel hatte wo ein Zeilenumbruch nicht ausgeführt dafür aber angezeigt wurde und der sollte entfernt werden. Ich musste "AltGr + 0100" eingeben um nach dem Zeichen zu suchen und es zu ersetzen. So etwas in der Art wird es dann bei dir auch sein.

    Vielleicht findest du ja hier etwas: http://mandalex.manderby.com/a/ascii.php
    Geändert von tombe (16.03.10 um 16:05 Uhr)
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  3. #3
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Code :
    1
    2
    
    ?Replace("ontract ?-? 11? 21.10.09.rtf", Chr(63), "")
    ontract - 11 21.10.09.rtf

    Es funktioniert in Theorie. Die Frage ist, sind die ? wirklich ? (also chr(63)) oder stehen sie für ein komisches Zeichen?
    Versuch mal das Zeichen zu kopieren und mit asc() den Wert herauszulesen. Ist es auch 63?
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  4. #4
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.161
    Zitat Zitat von yaslaw Beitrag anzeigen
    Code :
    1
    2
    
    ?Replace("ontract ?-? 11? 21.10.09.rtf", Chr(63), "")
    ontract - 11 21.10.09.rtf
    Es funktioniert in Theorie. Die Frage ist, sind die ? wirklich ? (also chr(63)) oder stehen sie für ein komisches Zeichen?
    Versuch mal das Zeichen zu kopieren und mit asc() den Wert herauszulesen. Ist es auch 63?
    Richtig, ich würde auch ganz stark vermuten, dass nicht um ein "echtes" Fragezeichen handelt, sondern einfach um einen system-spezifischen Platzhalter für ein nicht darstellbares Zeichen! In einer Java-Entwicklungsumgebung sind dies dann bspw. kleine Kästchen.

    Also wird u. U. jedes der '?' einen anderen ASCII-Wert haben ....

    Bleibt die Frage, ob das vorgeschlagene pauschale Umbenennen geht, wenn man hierdurch nicht den genauen Dateinamen kennt ....

    Gruß
    Klaus
     
    Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!

    Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
    -------------------------------------------------------------------------------------------------
    Ich beantworte keine Fragen per PN !!
    Stellt Eure Fragen im Forum - dann haben alle etwas davon !!

  5. #5
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Ansonsten mit Regulären Ausdrücken

    für VB6 sieht das etwa so aus
    Code vb:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
    Public Function test()
        Const C_PATTERN = "[^0-9a-zA-Z._-]"
        Const C_REPLACE = ""
        Dim regEx As Object
        Dim value, pattern, replace As String
        
        'Testfall
        value = "ontract ?-? 11? 21.10.09.rtf"
        
        'RegExp Object anlegen
        Set regEx = CreateObject("vbscript.regexp")
     
        regEx.Global = True
        regEx.pattern = C_PATTERN
        test = regEx.replace(value, C_REPLACE)
     
        'RegExp Objekt zerstören
        Set regEx = Nothing
    End Function
    Geändert von Yaslaw (16.03.10 um 17:12 Uhr)
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  6. #6
    Avatar von DrSoong
    DrSoong DrSoong ist offline Iss was, Doc!
    tutorials.de Premium-User
    Registriert seit
    Jul 2003
    Ort
    Dem Zentrum meiner Welt
    Beiträge
    1.836
    Blog-Einträge
    85
    Mir stellt sich die Frage, ob hier nicht eine andere Codierung (UTF, ISO, ...) sinnvoller wäre, wahrscheinlich wurden die Mails/Texte mit einer bestimmten, anderer als deiner Codierung gesendet und daher kommen die Darstellungsprobleme.


    Der Doc!
     
    A: Hilfe, ich hab zwei Dateien hinzugefügt und nun sind die anderen weg
    B: Die Scrollbar da rechts ist dir schon mal aufgefallen?

  7. #7
    DrMueller DrMueller ist offline Mitglied Brokat
    Registriert seit
    Aug 2006
    Beiträge
    396
    Hallo Leute, vielen Dank für die vielen Antworten.
    Im ersten Schritt werde ich es wohl über die Reg Exp lösen müssen. Vielleicht gibts noch was sauberes, die verschiedenen Kodierungen etc. durchlaufen lassen z.B., aber das muss hinten anstehen.
     

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 17.12.07, 09:12
  2. Gemalte Linien werden nicht dargestellt
    Von MEETyA im Forum Java
    Antworten: 5
    Letzter Beitrag: 26.09.07, 15:58
  3. Antworten: 4
    Letzter Beitrag: 27.12.06, 14:59
  4. Nicht alle Ebenen werden in der Fla dargestellt....?
    Von novalis777 im Forum Flash Plattform
    Antworten: 10
    Letzter Beitrag: 13.06.06, 17:56
  5. Umlaute werden nicht dargestellt
    Von Arndtinho im Forum PHP
    Antworten: 3
    Letzter Beitrag: 27.05.06, 14:13