php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 27-04-2011, 16:33
jogisarge
 Registrierter Benutzer
Links : Onlinestatus : jogisarge ist offline
Registriert seit: Nov 2002
Beiträge: 430
jogisarge ist zur Zeit noch ein unbeschriebenes Blatt
Standard Zeichenproblem beim Zusammenführen von Dateien

Hallo zusammen,

ich bekomme von einem Lieferanten Textdateien.
In jeder Datei steht eine Datenzeile, die im Notepad++ auch normal angezeigt werden und mit einem CRLF enden.

Nun lese ich diese wie folgt ein:
PHP-Code:
while (!feof($fhtempfile)) 
{
    
$buffer fgets($fhtempfile,1024);
    
fwrite($fhsammel$buffer."\n");
}
fclose($fhtempfile); 
Die Datei kommt von einem holländischen WWS.
Zeichensatz unbekannt - bzw. würde ich es gerne selbst lösen, da die Kommunikation etwas holprig ist.

In der Sammeldatei steht ab der zweiten Zeile immer so ein komisches Zeichen. ਊ਀ ich habe extra einen Screenshot als Anhang mitgesendet, da das Zeichen wirklich seltsam aussieht.

Hat jemand ne Idee, wo hier das Problem sein könnte?
Miniaturansicht angehängter Grafiken
Zeichenproblem beim Zusammenführen von Dateien-zeichen.jpg  
Mit Zitat antworten
  #2 (permalink)  
Alt 27-04-2011, 17:02
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

wenn man diese UTF-8-Sequenzen aufdröselt, bekommt man den Unicode Code Point U+0A0A und der sieht verdächtig danach aus, als ob eine UTF-16-Datei mit ASCII-Zeilenumbrüchen (0x0A) verstümmelt wurde, die dadurch keinen Sinn mehr ergeben (es sei denn deine Kunden sprechen Panjabi). Im Notepad++ siehst du ja unten rechts die Kodierung. Wenn dort was von UCS-2 steht, darfst du natürlich keine 0x0A-Bytes reinschreiben, sondern ebeso codierte LFs in der Form 0x00 0x0A (Big Endian) oder 0x0A 0x00 (Little Endian).

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!

Geändert von AmicaNoctis (27-04-2011 um 17:05 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 27-04-2011, 17:58
jogisarge
 Registrierter Benutzer
Links : Onlinestatus : jogisarge ist offline
Registriert seit: Nov 2002
Beiträge: 430
jogisarge ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo Amica,

Im Notepad steht UCS-2 Little Endian.
Da ich da nicht so durchblicke, bitte ich dich um einen weiteren Tipp.

Verstehe ich das richtig, dass mein "\n"-Zeilenumbruch falsch ist?
PHP-Code:
while (!feof($fhtempfile)) 
{
    
$buffer fgets($fhtempfile,1024);
    
fwrite($fhsammel$buffer."\n");
}
fclose($fhtempfile); 
Wie muss ich den code anpassen, damit das funktioniert ?

Gruß jogi
Mit Zitat antworten
  #4 (permalink)  
Alt 27-04-2011, 18:09
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von jogisarge Beitrag anzeigen
Im Notepad steht UCS-2 Little Endian.
Da ich da nicht so durchblicke, bitte ich dich um einen weiteren Tipp.
Zitat:
Zitat von AmicaNoctis Beitrag anzeigen
Wenn dort was von UCS-2 steht, darfst du natürlich keine 0x0A-Bytes reinschreiben, sondern ebeso codierte LFs in der Form 0x00 0x0A (Big Endian) oder 0x0A 0x00 (Little Endian).

Zitat:
Verstehe ich das richtig, dass mein "\n"-Zeilenumbruch falsch ist?
Kommt drauf an, in welcher Kodierung er geschrieben wird (also in erster Linie abhängig von der Kodierung, in der das Script gespeichert ist).

Verwende einfach die entsprechenden Bytewerte, die Amica genannt hatte, stattdessen - das sollte am unproblematischsten sein.

Und falls du nicht weißt, wie du gezielt Bytewerte in PHP notieren/erzeugen kannst - RTFM, please.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #5 (permalink)  
Alt 27-04-2011, 20:30
jogisarge
 Registrierter Benutzer
Links : Onlinestatus : jogisarge ist offline
Registriert seit: Nov 2002
Beiträge: 430
jogisarge ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo nochmal,

ich hab meinen code nun so abgeändert:
PHP-Code:
while (!feof($fhtempfile))  

    
$buffer fgets($fhtempfile,1024); 
    
fwrite($fhsammel$buffer.chr(0x0A).chr(0x00));

fclose($fhtempfile); 
nun ist es total abgefahren:
ich führe 8 Dateien zu einer zusammen.
jede zweite zeile ist in chinesisch, oder so ???

Kann mir bitte nochmal jemand helfen ?

Gruß jogi
Miniaturansicht angehängter Grafiken
Zeichenproblem beim Zusammenführen von Dateien-zeichen2.jpg  
Mit Zitat antworten
  #6 (permalink)  
Alt 27-04-2011, 23:23
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Das Grundproblem ist klar, denke ich. Um jetzt weitere Hilfe leisten zu können, brauchen wir mehr Informationen. Der Code ist diesbezüglich nichtssagend, weil daraus nicht hervorgeht, was von wo eingelesen und nach wo gespeichert wird und der Screenshot lässt die Information vermissen, welche Datei er zeigt.

Also erklär bitte erstmal, was jetzt wo hingehört, warum es das tut, was du womit machen willst oder gemacht hast und zwar wann und an welcher Stelle. Du kannst gerne auch Auszüge aus den Dateien anhängen, aber dann bitte mit Detailinformationen, wo diese Dateien herkommen und was mit ihnen passieren soll.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #7 (permalink)  
Alt 28-04-2011, 10:15
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Um Dateien erfolgreich zusammenführen können muss man den verwendeten Zeichensatz jeder einzelnen Datei kennen, auch der Zieldatei. Unterscheiden sich diese Zeichensätze, muss konvertiert werden. Sollen Zeilenumbrüche hinzugefügt werden, müssen sie natürlich auch zum Zeichensatz passen.

Doku: iconv()
__________________
Wir werden alle sterben
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem beim Einschreiben von TXT-Dateien Mra PHP Developer Forum 2 16-02-2007 19:16
Dateien beim Download umbenennen? The_Light Webmaster 5 18-04-2005 16:56
2 XML Dateien zusammenführen celeron XML 1 09-12-2004 10:40
PHP/SQL Problem beim Upload von Dateien busstop PHP Developer Forum 4 29-09-2003 18:02
Fehlermeldung beim Kopieren von Dateien per FTP MHeiss PHP Developer Forum 1 31-03-2003 02:52

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:03 Uhr.