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, 17: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, 18: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 18:05 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 27-04-2011, 18: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, 19: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, 21: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 28-04-2011, 00: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, 11: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 20:16
Dateien beim Download umbenennen? The_Light Webmaster 5 18-04-2005 17:56
2 XML Dateien zusammenführen celeron XML 1 09-12-2004 11:40
PHP/SQL Problem beim Upload von Dateien busstop PHP Developer Forum 4 29-09-2003 19:02
Fehlermeldung beim Kopieren von Dateien per FTP MHeiss PHP Developer Forum 1 31-03-2003 03: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

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:23 Uhr.