簡體   English   中英

Php csv 導出下載為 Windows-1252 而不是 utf_8

[英]Php csv export downloaded as Windows-1252 instead of utf_8

你好,我有 utf_8 編碼的數據,但是在導出時,我在 Microsoft excel 上打開它,我得到了這個

塊引用

這里是我用記事本打開的時候在此處輸入圖像描述

當我將文件打開為 excel 時,我從原始文件1252 windows中獲得此編碼

這是我的代碼

    $outputCSv = "";
        
        $someData = array(
    array('one' ,'two' ,'three'),
    array('واحد', 'اثنان', 'ثلاثة'),
    array ('اربعة', 'خمسة', 'ستة'),
    array('سبعة', 'ثمانية', 'تسعة'));

foreach ($someData as $data) {
    $outputCSv .= implode(',', $data) . "\r\n";
}
header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment;filename=csvTest.csv");
header("Content-Encoding: UTF-8");
echo "\xEF\xBB\xBF"; // UTF-8 BOM  

echo $outputCSv; exit(0); 

當我把時間浪費在挑戰編碼上時,我使用了 output 緩沖,它工作得很好

ob_clean();
    ob_start();
      $outputCSv = "";
    
    $someData = array(
array('one' ,'two' ,'three'),
array('واحد', 'اثنان', 'ثلاثة'),
array ('اربعة', 'خمسة', 'ستة'),
array('سبعة', 'ثمانية', 'تسعة'));

foreach ($someData as $data) {
    $outputCSv .= implode(',', $data) . "\r\n";
}
header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment;filename=csvTest.csv");
header("Content-Encoding: UTF-8");
echo "\xEF\xBB\xBF"; // UTF-8 BOM  

echo $outputCSv; 
 ob_end_flush();
exit(0); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM