Antworten
Hast Du Dir mal den String ausgeben lassen und in den Quelltext geschaut? Vermutlich ist das Hochkomma dort überall schon in HTML umgewandelt.
So far...
Matthias
2.
Zeig mal deinen Code, mit dem du versuchst die Datei zu schreiben.
Zitat:
in eine ASCII Datei zu schreiben, scheitern
Und was heißt "scheitern"??? Kommt eine Fehlermeldung, eine Warnung, Programmabbruch, Rechner explodiert?
3.
Zitat:
Gary postete
Zeig mal deinen Code, mit dem du versuchst die Datei zu schreiben.
dbopen();
$query = "SELECT *
FROM artikel" ;
$result = mysql_query($query);
while ($row = mysql_fetch_assoc($result))
{
$zeile= ereg_replace("[[:punct:]]","",$row[bezeichnung]);
.........
$fp = fopen ("./$dateiname", "a");
fputs ($fp, "$zeile\r\n", 1024);
fclose ($fp);
Zitat:
in eine ASCII Datei zu schreiben, scheitern
Und was heißt "scheitern"??? Kommt eine Fehlermeldung, eine Warnung, Programmabbruch, Rechner explodiert?[/quote] Scheitern, --> diese Datei wird in eShop Portal wieder eingelesen und hier kommt es zu dem Problem,
daß ´ dazu führt, das die Zeile nicht importiert wird, jetzt kann ich natürlich & und ; und acute etc rausfiltern.
Aber eigentlich wollte ich nur das ' (Apostroph) wegfiltern bzw. ersatzlos aus einer Bezeichnung löschen
4.
Wende die Funktion [doc]mysql_real_escape_string[/doc] vor dem Schreiben in die Datei an... Dann funktioniert auch das Einlesen...
5.
Zitat:
Gary postete
Wende die Funktion [doc]mysql_real_escape_string[/doc] vor dem Schreiben in die Datei an... Dann funktioniert auch das Einlesen...
Vielen Dank für die Antwort, aber ich verstehe nur ????
Also ich lese aus meiner mysql DB meine Artikel aus und schreibe diese in eine ASC II Datei. Die einzelnen Spalten, wie z.B. Preise oder Artikelnummer werden durch Semikolon getrennt.
Diese Datei übergebe ich einem externen Programm, wie z.B. Froogle, die diese Datei dann einliest.
Mein Problem sind die ' (Apostroph's), diese bekomme ich nicht gefiltert, alle anderen Filter Funktionieren mit ereg_replace funktionieren einwandfrei.
Das Ergebnis ist z.B.
Oliver T40 Power ´für die Offensiven´;BlaBla;AhaBee
hier steht nach dem Beitrag aktualisieren ist, wieder der richtige Wert sprich ' drin , daher jetzt ohne & vor dem acute
Oliver T40 Power[kaufm. und] acute;für die Offensiven [kaufm. und] acute;;BlaBla;AhaBee
richtig sollte es heißen
Oliver T40 Power für die Offensiven;BlaBla;AhaBee
oder
Oliver T40 Power 'für die Offensiven';BlaBla;AhaBee
Wo muss ich denn jetzt die obige Funktion (trotz Hilfe durchlesen und diversen Test) ein ?
Als Ausgabe, wenn ich mir die Datei imUltraedit ansehe, bekomme ich immer
Oliver T40 Power ´für die Offensiven´;
6.
Code: In Zwischenablage kopieren (nur IE)
Hat bei mir damals zumindest hervorragend funktioniert..... :)
7.
[quote]
Gary postete Code: In Zwischenablage kopieren (nur IE)
Hat bei mir damals zumindest hervorragend funktioniert..... :)[/quote] Leider bleibt es in der ASCII Datei bei
Oliver T40 Power [hier steht ein kaufm. und]acute;für die Offensiven[hier steht ein kaufm. und];;
So sieht es dann (richtig) unter HTML aus :
Code: In Zwischenablage kopieren (nur IE)
Hat noch einer eine Idee ???
8.
Wie stehen denn die Daten in der Datenbank?? Mit den gewandelten oder den ungewandelten Sonderzeichen?
9.
Zitat:
Gary postete
Wie stehen denn die Daten in der Datenbank?? Mit den gewandelten oder den ungewandelten Sonderzeichen?
Vielleicht scheit das das Problem zu sein, schaue ich unter phpmyadmin in die sql-Datenbank rein, so steht dort auch [kaufm. und]acute;
Vielleicht gibt es jetzt einen Weg diese Problem zu lösen.
10.
Versuchs mal mit [doc]html_entity_decode[/doc] und anschließend mit [doc]mysql_real_escape_string[/doc]...
Frag jetzt aber bitte nicht wie, sonst schieb ich deinen Beitrag nach Anfänger....
11.
Zitat:
Gary postete
[doc]html_entity_decode[/doc]
Danke mit html_entity_decode und str_replace ist alles okay
[doc]str_replace($suche,$ersetze,html_entity_decode($row[bezeichnung]));[/doc]
Das Maskieren ist / war für meinen Anwendungsfall mit nötig.