Ankündigung

Einklappen
Keine Ankündigung bisher.

csv eintrag erzeugt ?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Cyclestores
    hat ein Thema erstellt csv eintrag erzeugt ?.

    csv eintrag erzeugt ?

    Hallo liebe Leute,

    ich habe ein Problem mit der Erstellung einer csv. Die Daten werden übertragen, doch es wird bei jedem Datensatz ein ? erzeugt. Ich habe keine Ahnung warum oder wie ich es abstellen kann.
    PHP-Code:

    //Datensatz erstellen
    $datensatz $startnr;
    $datensatz.=$trenner;
    $datensatz.=$transpondervergabe;
    $datensatz.=$trenner;
    $datensatz.= $vorname;
    $datensatz.= $trenner;
    $datensatz.=$name;
    $datensatz.=$trenner;
    $datensatz.= $Jahrgang;
    $datensatz.=$trenner;
    $datensatz.= $AK;
    $datensatz.=$trenner;
    $datensatz.= $land;
    $datensatz.=$trenner;
    $datensatz.=$ort;
    $datensatz.=$trenner;
    $datensatz.= $verein;
    $datensatz.=$trenner;
    $datensatz.=$email;
    $datensatz.=$trenner;
    $datensatz.=$lizenz;
    $datensatz.=$trenner;
    $datensatz.=$Zahlart;
    $datensatz.=$trenner;
    $datensatz.=$gebuehr;
    $datensatz.="\n";

    $handlefopen ($filename,"a+");
     
    fwrite($handlechr(255) . chr(254) . mb_convert_encoding$datensatz'UTF-16LE','UTF-8')) ;

    fclose ($handle); 
    Die csv soll später für den Kunden gleich beim Anklicken mit Excel öffnen. Das funktioniert auch alles wenn ich das Fragezeichen manuell entferne.
    Hier mal der Datensatz, der unter Position 10 den Originaleintrag hat.
    [MAN]SNR;Transponder;Vorname;Name;Jahrgang;Klasse;Land; Ort;Verein;Email;Lizenz;Zahlart;zuzahlen
    1;1;Lisa;Muster;1988;Frauen;BEL;Ülmen;;olaf_nagel@ t-online.de;;Überweisung;105
    2;2;Lisa;Muster;1988;Frauen;BEL;Ülmen;;olaf_nagel@ t-online.de;;Überweisung;105
    3;3;Lisa;Muster;1988;Frauen;BEL;Ülmen;;olaf_nagel@ t-online.de;;Überweisung;105
    4;4;Lisa;Muster;1988;Frauen;BEL;Ülmen;;olaf_nagel@ t-online.de;;Überweisung;105
    5;5;Lisa;Muster;1988;Frauen;BEL;Ülmen;;olaf_nagel@ t-online.de;;Überweisung;105
    6;6;Lisa;Muster;1988;Frauen;BEL;Ülmen;;olaf_nagel@ t-online.de;;Überweisung;105
    7;7;Lisa;Muster;1988;Frauen;BEL;Ülmen;;olaf_nagel@ t-online.de;;Überweisung;105
    8;8;Lisa;Muster;1988;Frauen;BEL;Ülmen;;olaf_nagel@ t-online.de;;Überweisung;105
    9;9;Lisa;Muster;1988;Frauen;BEL;Ülmen;;olaf_nagel@ t-online.de;;Ueberweisung;105?10;10;Lisa;Muster;1988 ;Frauen;BEL;Ülmen;;olaf_nagel@t-online.de;;Ueberweisung;105[/MAN]
    Ich hoffe es kann mir Jemand helfen.

  • mermshaus
    antwortet
    Doch der header ist

    PHP-Code:
    header("Content-Type: text/html; charset=utf-8"); 
    So funktioniert das nicht. Eine PSD-Datei wird auch kein Excel-Dokument, wenn du die Dateiendung änderst.

    - http://www.joelonsoftware.com/articles/Unicode.html
    - http://phpforum.de/forum/showthread.php?t=217877

    Hat aber vielleicht tatsächlich nichts damit zu tun.

    doch was mich am meisten wundert ist das der erste Eintrag korrekt erfolgt und erst der weitere Eintrag dann mit Fragezeichen versehen ist.
    Dafür fehlt dann der Zeilenumbruch (siehe den „Link“ in Post #1) oder auch nicht (siehe den Code in Post #4)?

    Der code für Datensatz sieht so aus.
    Sorry, aber ich weigere mich, das unformatiert zu lesen. Eine Schleife sehe ich da auch nicht.

    Du postest echt total unübersichtlich.

    Einen Kommentar schreiben:


  • Cyclestores
    antwortet
    Zitat von mermshaus Beitrag anzeigen
    Das, was in $datensatz steht, ist vermutlich kein UTF-8.

    Btw: fputcsv. Sonst beachtest du den Kontextwechsel ins CSV-Format nicht korrekt.
    Doch der header ist
    PHP-Code:
    header("Content-Type: text/html; charset=utf-8"); 
    doch was mich am meisten wundert ist das der erste Eintrag korrekt erfolgt und erst der weitere Eintrag dann mit Fragezeichen versehen ist.
    PHP-Code:
    SNR|Transponder|Vorname|Name|Jahrgang|Klasse|Land|Ort|Verein|Email|Lizenz|Zahlart|zuzahlen
    1
    |1|Ülmüt|Röttog|1988|Männer|GER|Ülmen|Küche Co.|olaf_nagel@t-online.de||Ueberweisung|105
    ?2|2|Ülmüt|Röttog|1988|Maenner|GER|Ülmen|Küche Co.|olaf_nagel@t-online.de||Ueberweisung|105
    ?3|3|Ülmüt|Röttog|1988|Maenner|GER|Ülmen|Küche Co.|olaf_nagel@t-online.de||Ueberweisung|105 
    Der code für Datensatz sieht so aus.
    PHP-Code:
    if(file_exists($filename)){

     
    $anfangcount(file($filename));

    if(
    $anfang>=2){
        
    $startnr=$anfang-1;
    }



    //Transponder
    if($transponder==""){
    $transpondervergabe=$startnr;
    }
    else{
    $transpondervergabe=$transponder;
    }
     if(
    $AK=="Männer"){
         
    $AK"Maenner";
     }


    //Datensatz erstellen
    $datensatz $startnr;
    $datensatz.=$trenner;
    $datensatz.=$transpondervergabe;
    $datensatz.=$trenner;
    $datensatz.= $vorname;
    $datensatz.= $trenner;
    $datensatz.=$name;
    $datensatz.=$trenner;
    $datensatz.= $Jahrgang;
    $datensatz.=$trenner;
    $datensatz.= $AK;
    $datensatz.=$trenner;
    $datensatz.= $land;
    $datensatz.=$trenner;
    $datensatz.=$ort;
    $datensatz.=$trenner;
    $datensatz.= $verein;
    $datensatz.=$trenner;
    $datensatz.=$email;
    $datensatz.=$trenner;
    $datensatz.=$lizenz;
    $datensatz.=$trenner;
    $datensatz.=$Zahlart;
    $datensatz.=$trenner;
    $datensatz.=$gebuehr;
    $datensatz.="\n";
    //Ende wenn nicht vorhanden
               //Wenn Datei bereits vorhanden ist

    elseif(!file_exists($filename)){

    //Transponder
    if($transponder==""){
    $transpondervergabe=$startnr;
    }
    else{
    $transpondervergabe=$transponder;
    }


    //Spaltenüberschrift

     
    $datensatz"SNR";             //1
         
    $datensatz.=$trenner;
        
    $datensatz.= "Transponder"//2
         
    $datensatz.=$trenner;
        
    $datensatz.="Vorname";      //3
        
    $datensatz.=$trenner;
        
    $datensatz.="Name" ;        //4
        
    $datensatz.=$trenner;
        
    $datensatz.="Jahrgang" ;    //5
        
    $datensatz.=$trenner;
        
    $datensatz.="Klasse" ;     //6
        
    $datensatz.=$trenner;
        
    $datensatz.="Land" ;       //7
        
    $datensatz.=$trenner;
        
    $datensatz.="Ort" ;        //8
        
    $datensatz.=$trenner;
        
    $datensatz.="Verein" ;     //9
        
    $datensatz.=$trenner;
        
    $datensatz.="Email" ;     //10
    $datensatz.=$trenner;
    $datensatz.="Lizenz" ;    //11
    $datensatz.=$trenner;
    $datensatz.="Zahlart";
    $datensatz.=$trenner;
    $datensatz.="zuzahlen" //12
    $datensatz.="\n";
    $datensatz.=$startnr;           //1
    $datensatz.=$trenner;
    $datensatz.=$transpondervergabe;//2
    $datensatz.=$trenner;
    $datensatz.=$vorname;          //3
    $datensatz.=$trenner;
    $datensatz.=$name;              //4
    $datensatz.=$trenner;
    $datensatz.=$jahrgang;         //5
    $datensatz.=$trenner;
    $datensatz.=$AK;               //6
    $datensatz.=$trenner;
    $datensatz.=$land;             //7
    $datensatz.=$trenner;
    $datensatz.=$ort;               //8
    $datensatz.=$trenner;
    $datensatz.=$verein;           //9
    $datensatz.=$trenner;
    $datensatz.=$email;             //10
    $datensatz.=$trenner;
    $datensatz.=$lizenz;
    $datensatz.=$trenner;
    $datensatz.=$Zahlart;
    $datensatz.=$trenner;
    $datensatz.=$gebuehr;
    $datensatz.= "\n";

    Einen Kommentar schreiben:


  • mermshaus
    antwortet
    Das, was in $datensatz steht, ist vermutlich kein UTF-8.

    Btw: fputcsv. Sonst beachtest du den Kontextwechsel ins CSV-Format nicht korrekt.

    Einen Kommentar schreiben:


  • Cyclestores
    antwortet
    Datensatz

    ich habe mir jetz mal $datensatz[0] ausgeben lassen und der ist korrekt. Also muss das Fragezeichen beim übergeben erzeugt werden. Der Zeilenumbruch funktioniert auch gut.
    Hat keiner eine Idee?

    Einen Kommentar schreiben:

Lädt...
X