cari
Rumahrangka kerja phpYIIyii2导出csv文件乱码怎么办

yii2导出csv文件乱码怎么办

Jan 13, 2020 pm 03:10 PM
yiiWatak bercelaru

yii2导出csv文件乱码怎么办

yii导出CSV代码如下:

/**
 * 导出csv
 * @author yhdsir
 * @param array    $parameter header 表头
 * @param array    $parameter data   数据
 * @param string   $filename         导出名字
 */
public function export($parameter, $filename = '')
{
    if (empty($filename)) {
        $filename = date('Y-m-d_H-i-s');
    }

    $filename = str_replace(array('"', "'", ' ', ','), '_', $filename) . '.csv';

    if (is_array($parameter)) {
        header('Content-Type: application/vnd.ms-excel');
        header('Cache-Control: max-age=0');
        header("Content-Disposition: attachment;filename={$filename}");
        $fp = fopen('php://output', 'w');
        //fwrite($fp, chr(0xEF) . chr(0xBB) . chr(0xBF));  // 添加 BOM
        if (!empty($parameter['header']) && is_array($parameter['header'])) {
            foreach ($parameter['header'] as $i => $v) {
                // CSV的Excel支持GBK编码,一定要转换,否则乱码 
                // $head[$i] = iconv('utf-8', 'gbk', $v); 
                $parameter['header'][$i] = iconv('utf-8', 'gb2312//TRANSLIT//IGNORE', $v);
            }
            // 将数据通过fputcsv写到文件句柄 
            fputcsv($fp, $parameter['header']);
        }
        if (isset($parameter['data'])) {
            foreach ($parameter['data'] as $row) {
                foreach ($row as $i => $v) {
                    $row[$i] = iconv('utf-8', 'gb2312//TRANSLIT//IGNORE', $v);
                }
                fputcsv($fp, $row);
            }
        }
        fclose($fp);

        return true;
    }
    throw new \yii\web\HttpException(500, "Not a valid parameter!");
}

iconv — 字符串按要求的字符编码来转换

说明 

iconv ( string $in_charset , string $out_charset , string $str ) : string

将字符串 str 从 in_charset 转换编码到 out_charset。

参数 

in_charset:输入的字符集。

out_charset:输出的字符集。

str:要转换的字符串。

返回值:返回转换后的字符串, 或者在失败时返回 FALSE。

推荐学习:yii教程

Atas ialah kandungan terperinci yii2导出csv文件乱码怎么办. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Yii: Pengenalan kepada Rangka Kerja PHP berprestasi tinggiYii: Pengenalan kepada Rangka Kerja PHP berprestasi tinggiApr 18, 2025 am 12:03 AM

YII adalah rangka kerja PHP berprestasi tinggi yang sesuai untuk perkembangan pesat aplikasi web. Konsep terasnya termasuk: Reka bentuk berasaskan komponen: YII menyediakan komponen dan sambungan yang kaya, menyokong penjanaan kod automatik, dan meningkatkan kecekapan pembangunan. Senibina MVC: Mengamalkan konsep reka bentuk "Konvensyen adalah lebih baik daripada konfigurasi" untuk meningkatkan kecekapan operasi. Sokongan cache dan pangkalan data: Menyediakan mekanisme caching yang kuat dan operasi pangkalan data untuk mengoptimumkan prestasi aplikasi.

Penggunaan berterusan Yii: Memeriksa status semasaPenggunaan berterusan Yii: Memeriksa status semasaApr 17, 2025 am 12:09 AM

Yii masih berdaya saing dalam pembangunan moden. 1) Prestasi tinggi: Mengadopsi mekanisme pemuatan dan caching malas. 2) Keselamatan: Perlindungan suntikan CSRF dan SQL terbina dalam. 3) Extensibility: Reka bentuk berasaskan komponen mudah diperluas dan disesuaikan.

Komuniti Yii: Sokongan dan SumberKomuniti Yii: Sokongan dan SumberApr 16, 2025 am 12:04 AM

Masyarakat Yii menyediakan sokongan dan sumber yang kaya. 1. Lawati laman web rasmi dan GitHub untuk mendapatkan dokumentasi dan kod. 2. Gunakan forum rasmi dan stackoverflow untuk menyelesaikan masalah teknikal. 3. Laporkan bug dan membuat cadangan melalui githubissues. 4. Gunakan dokumen dan tutorial untuk mempelajari rangka kerja YII.

Yii: Rangka Kerja yang Kuat untuk Pembangunan WebYii: Rangka Kerja yang Kuat untuk Pembangunan WebApr 15, 2025 am 12:09 AM

YII adalah rangka kerja PHP berprestasi tinggi yang direka untuk pembangunan cepat dan penjanaan kod yang cekap. Ciri -ciri terasnya termasuk: MVC Architecture: YII Mengadopsi Senibina MVC untuk membantu pemaju memisahkan logik aplikasi dan membuat kod lebih mudah untuk mengekalkan dan mengembangkan. Komponen dan penjanaan kod: Melalui komponen dan penjanaan kod, YII mengurangkan kerja pemaju berulang dan meningkatkan kecekapan pembangunan. Pengoptimuman Prestasi: YII menggunakan teknologi pemuatan dan caching latency untuk memastikan operasi yang cekap di bawah beban tinggi dan menyediakan keupayaan ORM yang kuat untuk memudahkan operasi pangkalan data.

Yii: Rangka Kerja Pembangunan RapidYii: Rangka Kerja Pembangunan RapidApr 14, 2025 am 12:09 AM

YII adalah rangka kerja berprestasi tinggi berdasarkan PHP, sesuai untuk perkembangan pesat aplikasi web. 1) Ia mengamalkan reka bentuk seni bina dan komponen MVC untuk memudahkan proses pembangunan. 2) Yii menyediakan fungsi yang kaya, seperti Activerecord, Restfulapi, dan lain -lain, yang menyokong kesesuaian dan pengembangan yang tinggi. 3) Menggunakan alat GII dengan cepat dapat menghasilkan kod CRUD dan meningkatkan kecekapan pembangunan. 4) Semasa debugging, anda boleh menyemak fail konfigurasi, gunakan alat debugging dan melihat log. 5) Cadangan Pengoptimuman Prestasi termasuk menggunakan cache, mengoptimumkan pertanyaan pangkalan data dan mengekalkan kebolehbacaan kod.

Keadaan semasa yii: melihat popularitinyaKeadaan semasa yii: melihat popularitinyaApr 13, 2025 am 12:19 AM

Yiiremainspopularbutislessfavoredthanlaravel, withabout14kgithubstars.itexcelsinperformanceAndactiverecord, buthasasteperlearningcurveandasmallerecosystem.it'sidealfordevelopersprioritizingefficyoverovasystem.

Yii: Ciri -ciri dan Kelebihan Utama DijelaskanYii: Ciri -ciri dan Kelebihan Utama DijelaskanApr 12, 2025 am 12:15 AM

Yii adalah rangka kerja PHP berprestasi tinggi yang unik dalam seni bina komponennya, ORM yang kuat dan keselamatan yang sangat baik. 1. Senibina berasaskan komponen membolehkan pemaju untuk memasang fungsi secara fleksibel. 2. ORM yang berkuasa memudahkan operasi data. 3. Build-in Multiple Security Functions Untuk memastikan keselamatan aplikasi.

Senibina Yii: MVC dan banyak lagiSenibina Yii: MVC dan banyak lagiApr 11, 2025 pm 02:41 PM

Rangka kerja YII mengamalkan seni bina MVC dan meningkatkan fleksibiliti dan skalabilitasnya melalui komponen, modul, dan lain -lain. 1) Mod MVC membahagikan logik aplikasi ke dalam model, pandangan dan pengawal. 2) Pelaksanaan MVC YII menggunakan pemprosesan permintaan penghalusan tindakan. 3) YII menyokong pembangunan modular dan meningkatkan organisasi dan pengurusan kod. 4) Gunakan pengoptimuman pertanyaan cache dan pangkalan data untuk meningkatkan prestasi.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma