Added charset header and BOM to utf-8 csv exports

This commit is contained in:
Frank Schubert
2024-11-05 13:53:50 +01:00
parent ed95e9bb7c
commit 1f3ef5246f
8 changed files with 15 additions and 15 deletions

View File

@@ -1,5 +1,5 @@
<?php
$header = "FIBU Kontonummber;Zahlungsziel Lieferant;Skontotage;Skontoprozent;Zahlsperre;Vorname;Nachname;Straße Hausnummer;PLZ;Ort;Land;Telefon;Mail;UID;SEPA;Kontoinhaber;IBAN;BIC;customer_numbers\n";
$header = "\u{FEFF}FIBU Kontonummber;Zahlungsziel Lieferant;Skontotage;Skontoprozent;Zahlsperre;Vorname;Nachname;Straße Hausnummer;PLZ;Ort;Land;Telefon;Mail;UID;SEPA;Kontoinhaber;IBAN;BIC;customer_numbers\n";
$this->setReturnValue(["header" => $header]);
foreach($addresses as $a):

View File

@@ -5,7 +5,7 @@
*/
$i = 0;
ob_end_flush();
header("Content-type: text/csv");
header("Content-type: text/csv; charset=utf-8");
if(!$no_filename) {
header('Content-disposition: attachment; filename="addressdb-export-'.date('Y-m-d_H-i-s').'.csv"');
}
@@ -17,7 +17,7 @@ foreach(ADBStatusflagModel::getAll() as $sflag) {
}
?>
AddressDB_ID;Extref;Adrcd;OAID;Status Code;Status Name;"<?=implode('";"', $status_flags_header)?>";Netzgebiet_Extref;Netzgebiet;Rimo Building External ID;GKZ;Gemeinde;OKZ;Ortschaft;PLZ;SKZ;Strasse;Hausnummer;Grundstueck;GPS Breite;GPS Laenge;Rollout;Rollout_Info;Freigabe;Nutzungseinheiten;GDA-Eigenschaft;Meridian;RW;HW;Sichtbarkeit;Erstellt;Letzte Bearbeitung
<?="\u{FEFF}"?>AddressDB_ID;Extref;Adrcd;OAID;Status Code;Status Name;"<?=implode('";"', $status_flags_header)?>";Netzgebiet_Extref;Netzgebiet;Rimo Building External ID;GKZ;Gemeinde;OKZ;Ortschaft;PLZ;SKZ;Strasse;Hausnummer;Grundstueck;GPS Breite;GPS Laenge;Rollout;Rollout_Info;Freigabe;Nutzungseinheiten;GDA-Eigenschaft;Meridian;RW;HW;Sichtbarkeit;Erstellt;Letzte Bearbeitung
<?php
$line = 0;

View File

@@ -1,9 +1,9 @@
<?php
ob_end_flush();
header("Content-type: text/csv");
header("Content-type: text/csv; charset=utf-8");
header('Content-disposition: attachment; filename="ivtproducts-active-'.date('Y-m-d_H-i-s').'.csv"');
?>
IVT ID;Typ;Produkt;Standardpreis;Anzahl Kunden;Kunde
<?="\u{FEFF}"?>IVT ID;Typ;Produkt;Standardpreis;Anzahl Kunden;Kunde
<?php
$types = array('-----', 'xDSL', 'FTTH', 'FTTB', 'DOCSIS', 'Funk', 'Telefon', 'Webhosting', 'Carrier', 'Housing', 'TV');
foreach($products as $product_id => $product):

View File

@@ -1,9 +1,9 @@
<?php
header("Content-type: text/csv");
header("Content-type: text/csv; charset=utf-8");
header('Content-disposition: attachment; filename="'.$invoice->invoice_number.'.csv"');
?>
Rechnungsnummer;Belegdatum;Kundennummer;Firma;Nachname;Vorname;Produktname;Matchcode;Zeitraum;Anzahl;Preis Netto;Ust%;Preis Brutto
<?="\u{FEFF}"?>Rechnungsnummer;Belegdatum;Kundennummer;Firma;Nachname;Vorname;Produktname;Matchcode;Zeitraum;Anzahl;Preis Netto;Ust%;Preis Brutto
<?php
foreach($invoice->positions as $p):
$timerange_month_only = $p->getOption('timerange_month_only');

View File

@@ -1,9 +1,9 @@
<?php
ob_end_flush();
header("Content-type: text/csv");
header("Content-type: text/csv; charset=utf-8");
header('Content-disposition: attachment; filename="Kampagne-'.$campaign->name.'-billing-'.date('Y-m-d_H-i-s').'.csv"');
?>
Kampagne;Netzgebiet ID;Netzgebiet;Extref;Bestellcode;OAID;Bestelldatum;Bestelltyp;Status Code; Status Name;Anschlusstyp;GWR Adresscode;Meridian;RW;HW;Anschluss Strasse;Anschluss Hausnummer;Anschluss PLZ;Anschluss Ort;Anschluss Wohneinheit;GPS Breite;GPS Länge;Anzahl Anschlüsse;Kunde Firma;Kunde UID;Kunde Vorname;Kunde Nachname;Kunde Strasse;Kunde PLZ;Kunde Ort;Kunde Telefon;Kunde Email;Partner;Preis Setup;Erstellt;Letzte Bearbeitung
<?="\u{FEFF}"?>Kampagne;Netzgebiet ID;Netzgebiet;Extref;Bestellcode;OAID;Bestelldatum;Bestelltyp;Status Code; Status Name;Anschlusstyp;GWR Adresscode;Meridian;RW;HW;Anschluss Strasse;Anschluss Hausnummer;Anschluss PLZ;Anschluss Ort;Anschluss Wohneinheit;GPS Breite;GPS Länge;Anzahl Anschlüsse;Kunde Firma;Kunde UID;Kunde Vorname;Kunde Nachname;Kunde Strasse;Kunde PLZ;Kunde Ort;Kunde Telefon;Kunde Email;Partner;Preis Setup;Erstellt;Letzte Bearbeitung
<?php
$line = 0;

View File

@@ -4,7 +4,7 @@
* @var resource $res
*/
ob_end_flush();
header("Content-type: text/csv");
header("Content-type: text/csv; charset=utf-8");
if(!$no_filename) {
header('Content-disposition: attachment; filename="preorder-export-' . date('Y-m-d_H-i-s') . '.csv"');
}
@@ -15,7 +15,7 @@ foreach(PreorderStatusflagModel::getAll() as $sflag) {
}
?>
Kampagne;Netzgebiet ID;Netzgebiet;Extref;Bestellcode;Gutscheincodes;OAID;Bestelldatum;Bestelltyp;Status Code;Status Name;"<?=implode('";"', $status_flags_header)?>";Anschlusstyp;GWR Adresscode;Meridian;RW;HW;Anschluss Strasse;Anschluss Hausnummer;Anschluss PLZ;Anschluss Ort;Anschluss Wohneinheit;GPS Breite;GPS Länge;Anzahl Anschlüsse;Kunde Firma;Kunde UID;Kunde Vorname;Kunde Nachname;Kunde Strasse;Kunde PLZ;Kunde Ort;Kunde Telefon;Kunde Email;Partner;CIF Token;Cif Url;Cif Cable Url;Addon Lehrverrohrung Grundstück;Addon Hausverkabelung;BEP festgelegt;Starterpaket erhalten;Erstellt;Letzte Bearbeitung
<?="\u{FEFF}"?>Kampagne;Netzgebiet ID;Netzgebiet;Extref;Bestellcode;Gutscheincodes;OAID;Bestelldatum;Bestelltyp;Status Code;Status Name;"<?=implode('";"', $status_flags_header)?>";Anschlusstyp;GWR Adresscode;Meridian;RW;HW;Anschluss Strasse;Anschluss Hausnummer;Anschluss PLZ;Anschluss Ort;Anschluss Wohneinheit;GPS Breite;GPS Länge;Anzahl Anschlüsse;Kunde Firma;Kunde UID;Kunde Vorname;Kunde Nachname;Kunde Strasse;Kunde PLZ;Kunde Ort;Kunde Telefon;Kunde Email;Partner;CIF Token;Cif Url;Cif Cable Url;Addon Lehrverrohrung Grundstück;Addon Hausverkabelung;BEP festgelegt;Starterpaket erhalten;Erstellt;Letzte Bearbeitung
<?php
$line = 0;

View File

@@ -1,8 +1,8 @@
<?php
header("Content-type: text/csv");
header("Content-type: text/csv; charset=utf-8");
header('Content-disposition: attachment; filename="preorder-services-'.$campaign->name.'-'.date("Y-m-d_H-m-s").'.csv"');
?>
Code;Gemeinde;PLZ;Ortschaft;Strasse;Hausnummer;Block;Stiege;Stock;Tuer;Adresszusatz;Adressinfo;Firma;UID;Vorname;Nachname;Kontakt Strasse;Kontakt PLZ;Kontakt Ort;Telefon;Email;Dienstleistung;Data
<?="\u{FEFF}"?>Code;Gemeinde;PLZ;Ortschaft;Strasse;Hausnummer;Block;Stiege;Stock;Tuer;Adresszusatz;Adressinfo;Firma;UID;Vorname;Nachname;Kontakt Strasse;Kontakt PLZ;Kontakt Ort;Telefon;Email;Dienstleistung;Data
<?php foreach($csv as $c):?>
"<?=$c["ucode"]?>";"<?=$c["gemeinde"]?>";"<?=$c["plz"]?>";"<?=$c["ortschaft"]?>";"<?=$c["strasse"]?>";"<?=$c["hausnummer"]?>";"<?=$c["block"]?>";"<?=$c["stiege"]?>";"<?=$c["stock"]?>";"<?=$c["tuer"]?>";"<?=$c["zusatz"]?>";"<?=$c["address_info"]?>";"<?=$c["contact_company"]?>";"<?=$c["contact_uid"]?>";"<?=$c["contact_firstname"]?>";"<?=$c["contact_lastname"]?>";"<?=$c["contact_street"]?>";"<?=$c["contact_plz"]?>";"<?=$c["contact_ort"]?>";"<?=$c["phone"]?>";"<?=$c["email"]?>";"<?=$c["service"]?>";"<?=$c["service_data"]?>"
<?php endforeach;

View File

@@ -674,7 +674,7 @@ class InvoiceController extends mfBaseController {
$type = "credit";
}
$csv_header = "satzart;konto;gkonto;belegnr;belegdatum;buchsymbol;buchcode;prozent;steuercode;betrag;steuer;text;kost;";
$csv_header = "\u{FEFF}satzart;konto;gkonto;belegnr;belegdatum;buchsymbol;buchcode;prozent;steuercode;betrag;steuer;text;kost;";
if($type == "credit") {
$csv_header .= "extbelegnr";
@@ -822,7 +822,7 @@ class InvoiceController extends mfBaseController {
/*$this->layout()->setFlash("Export erfolgreich abgeschlossen", "success");
$this->redirect("Invoice");*/
header("Content-type: text/csv");
header("Content-type: text/csv; charset=utf-8");
if($type == "credit") {
header('Content-disposition: attachment; filename="tt-prov-export-bmd-'.date('Y-m-d_H-i-s').'.csv"');
} else {