问候
当我想使用php脚本将数据从数据库输入到csv文件中时遇到问题。它会正确打印数据库中的所有内容,但是当它打印到csv文件时,就会出现字符错误,即不能很好地打印它们。 错误Ã,Ã,Ã,¼...以及我需要ä,ö,ü的示例。
如果我能以某种方式在数据库中打印csv文件? 我的代码:
<?php
require_once 'connections.php';
$query = "SELECT Artikelnummer_im_Shop, EAN_GTIN_Barcodenummer_UPC,
Herstellerartikelnummern_HAN_MPN, Hersteller_Markenname,
Produktname,Preis_Brutto, Lieferzeit, Produktbeschreibung, ProduktURL,
BildURL_1, Versandkosten, Vorkasse, Paydirekt, Paypal,
Kreditkartenzahlung_uber_BS_PAYONE_GmbH, Versandkosten_Kommentar
FROM app_table";
$result = mysqli_query($connect, $query) or die("database error:".
mysqli_error($connect));
$file = "inko-table.csv";
// Delete file if exist
unlink($file);
// Write to the file or create if not exist
$f = fopen($file, 'w'); // Open in write mode ('w' will overwrite everything everytime)
$table = "app_table";
$sql = mysqli_query($connect, "SELECT * FROM $table");
$num_rows = mysqli_num_rows($sql);
$products = mysqli_fetch_array($sql);
// Writing data in file var $file
$i = 1;
while($row = mysqli_fetch_array($sql)) {
$nameComma = $row['Produktname'];
$name = str_replace(",", "", $nameComma);
$pzn = $row['EAN_GTIN_Barcodenummer_UPC'];
$url = $row['ProduktURL'];
$brand = $row['Hersteller_Markenname'];
$priceComma = $row['Preis_Brutto'];
$price = str_replace(",", ".", $priceComma);
$Artikelnummer = $row['Artikelnummer_im_Shop'];
$ProduktbeschreibungComma = $row['Produktbeschreibung'];
$Produktbeschreibung = str_replace(",", "", $ProduktbeschreibungComma);
$Herstellerartikelnummern = $row['Herstellerartikelnummern_HAN_MPN'];
$LieferzeitComma = $row['Lieferzeit'];
$Lieferzeit = str_replace(",", "", $LieferzeitComma);
$BildURL_1 = $row['BildURL_1'];
$VersandkostenComma = $row['Versandkosten'];
$Versandkosten = str_replace(",", ".", $VersandkostenComma);
$Vorkasse = $row['Vorkasse'];
$Paydirekt = $row['Paydirekt'];
$Paypal = $row['Paypal'];
$Kreditkartenzahlung = $row['Kreditkartenzahlung_uber_BS_PAYONE_GmbH'];
$KommentarComma = $row['Versandkosten_Kommentar'];
$Kommentar = str_replace(",", "", $KommentarComma);
if ($i==1) {
$product = "Artikelnummer im Shop".","."EAN / GTIN / Barcodenummer / UPC".","."Herstellerartikelnummern (HAN/MPN)".","."Hersteller / Markenname".","."Produktname".","."Preis (Brutto)".","."Lieferzeit".","."Produktbeschreibung".","."ProduktURL".","."BildURL_1".","."Versandkosten".","."Vorkasse".","."Paydirekt".","."Paypal".","."Kreditkartenzahlung über BS PAYONE GmbH".","."Versandkosten Kommentar"."\n".$Artikelnummer.",".$pzn.",".$Herstellerartikelnummern.",".$brand.",".$name.",".$price.",".$Lieferzeit.",".$Produktbeschreibung.",".$url.",".$BildURL_1.",".$Versandkosten.",".$Vorkasse.",".$Paydirekt.",".$Paypal.",".$Kreditkartenzahlung.",".$Kommentar."\n";
} else {
$product = $Artikelnummer.",".$pzn.",".$Herstellerartikelnummern.",".$brand.",".$name.",".$price.",".$Lieferzeit.",".$Produktbeschreibung.",".$url.",".$BildURL_1.",".$Versandkosten.",".$Vorkasse.",".$Paydirekt.",".$Paypal.",".$Kreditkartenzahlung.",".$Kommentar."\n";
}
$i++;
fwrite($f, $product);
}
fclose($f);
?>
答案 0 :(得分:0)
尝试:
string utf8_decode ( string $data );
例如:
$ProduktbeschreibungComma = utf8_decode ($row['Produktbeschreibung']);
它应该返回正确的变音符号。
如果在您的csv文件中。在输出前使用utf_decode。尝试将csv文件的file_encoding更改为utf8。