Textdatei in Textarea einfuegen

  • Guten Abend, gibt es hier

    PHP
    $iterator = new RecursiveIteratorIterator( new RecursiveDirectoryIterator('lieferscheine') );

    eine moeglichkeit nach utf-8 zu entcoden? wie wird dieser hier am besten mit eingeabut.

    Es geht darum, da ich soetwas " FTRO Ger�teschrauben " in meine Textarea als ausgabe habe. Somit kann ich die ausgabe nicht richtig in meine SQl Speichern. Laut Notepad++ sollte das (ANSI / INS) sein wenn jemand damit was anfangen kann.

    Gruss Jimz147

  • Im Header hat es keine auswirkung. ich glaube es muss beim einlesen der Datei mit angegeben werden. Somit muss es irgendwo hier rein.

    sowas hier klappt auch nicht

    PHP
    $file->set_charset( 'utf8' );
  • ich koennte mir das so vorstellen

    jedoch funktioniert das leider auch nicht

  • nunja ich hab mir den Beitrag sogar 2 mal durchgelesen, nur steht da nichts von einlesen einer Textdatei in eine Textarea und in die Datenbank wir das gespeichert was in der Textarea steht. Somit muss das beim einlesen der Datei beachtet werden.
    es gibt etliche Beispielen bezüglich SQL, jedoch nicht beim einlesen. Daher steht ich nach wie vor auf dem Schlauch. Hat jemand ne Lösung dazu ?

    Einmal editiert, zuletzt von jimz147 (13. Oktober 2018 um 17:40)

    • Offizieller Beitrag
    Zitat

    nunja ich hab mir den Beitrag sogar 2 mal durchgelesen, nur steht da nichts von einlesen einer Textdatei in eine Textarea und in die Datenbank wir das gespeichert was in der Textarea steht. Somit muss das beim einlesen der Datei beachtet werden.

    Dann hast Du es zwar gelesen, aber nicht verstanden.


    Einlesen einer Textdatei:
    Abschnitt Speicherung von Dateien ( auch wenn Du einlesen willst, muss das hier Grundlage sein! )

    Datenbank:
    Abschnitte Datenbankverbindung und Kollation der Tabellen, Spalten und der Datenbank selbst

    Textarea und Rest vom Formular
    Siehe Tipp im Abschnitt <meta>-Tag


    Nochmal zusammenfassend:
    Alle für Dich relevanten Punkte werden dort angesprochen.
    Wenn Du alle Punkte beachtest, hast Du das Problem nicht, das Du gerade hast!

  • Poste den kompletten Code, inkl. HTML-Header.

    Bisher würde ich auch sagen Link in #22 nicht komplett durchgearbeitet und/oder nicht verstanden.

  • nunja so sieht mein test aus


    und das ist der Inhalt der Textarea

    Code
    Z�hlerschrank 1100x1050x205mm ZB34SuniversZ IP44                           00000

    3 Mal editiert, zuletzt von jimz147 (13. Oktober 2018 um 22:15)

    • Offizieller Beitrag

    Also #22 doch nicht gelesen...

    Du verwendest - zumindest das ist schon mal richtig - den HTML5 Dokumententyp. Bei diesem lautet das <meta>-Tag aber so:

    HTML
    <meta charset="utf-8">

    Dann kannst Du in der PHP-Datei mal als erstes das hier setzen ( VOR <!DOCTYPE html> ):

    PHP
    header ( 'Content-Type: text/html; Charset:utf-8' );

    Dann prüfst Du mit einem entsprechenden Editor ( SublimeText, Notepad++, etc. ), was die Datei physikalisch für ein Encoding hat.
    Das gilt sowohl für die PHP-Datei, die Du hier gepostet hast, als auch für Deine Dateien im Verzeichnis Lieferschein.

    Wenn die Lieferscheine schuld sind, müssen die halt zuvor konvertiert werden.

    _____________

    Weitere Fehler, die mir auffallen:

    PHP
    $aTextAreas[] = '<textarea name="filename">' . $file->getPathname() . '</textarea>';

    Innerhalb der Schleife benennst Du alle <textarea> gleich.
    Wenn Du hinterher auf die Werte zugreifen willst, hast Du ein Problem.

    PHP
    echo "$document17"

    Warum den Interpreter unnötig belasten?!

    PHP
    echo $document17;

    ist das selbe, veranlasst aber den Interpreter nicht dazu, extra einen String nochmal zu parsen.

  • leider kann ich die Lieferscheine nicht beeinflussen. Gibt es da die möglichkeit diesezu übersetzen in utf-8.
    Ich habe mehrere sachen mit iconv ausprobiert. Oder auch mit diese Seite zu herzen genommen.

    Code
    http://de.php.net/mb_convert_encoding


    jedoch bekomme ich das ganze nicht ihn.

    viele Versuche jedoch kein zufriedenstellendes ergebniss

    • Offizieller Beitrag

    Wie hast Du es denn versucht? So in der Art könnte ich mir das vorstellen:


    Ist aber ungetestet!

    Wenn Du auf einem Linux Server unterwegs bist, kannst Du auch mit Perl relativ simpel die Dateien konvetieren:

    Code
    piconv -f iso-8859-1 -t utf-8 lieferschein/20181016.txt > lieferschein/20181016_utf8.txt
  • super das funktioniert erstmal echt super. Gibt es hier auch die Möglichkeit mit eine Überprüfung des Datei Codes? Der Grund Dazu ist einfach, da ich beim ersten laden der Seite alles soweit angezeigt bekomme jedoch beim zweiten laden alles falsch

    Server selber ist bei mir Zuhause alles in einem QNAP als "Test" sollte meines wissen auf Linux basis aufgebaut sein.

    2 Mal editiert, zuletzt von jimz147 (17. Oktober 2018 um 21:01) aus folgendem Grund: c