亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

首頁 php框架 YII yii2導(dǎo)出csv文件亂碼怎么辦

yii2導(dǎo)出csv文件亂碼怎么辦

Jan 13, 2020 pm 03:10 PM
yii 亂碼

yii2導(dǎo)出csv文件亂碼怎么辦

yii導(dǎo)出CSV代碼如下:

/**
 * 導(dǎo)出csv
 * @author yhdsir
 * @param array    $parameter header 表頭
 * @param array    $parameter data   數(shù)據(jù)
 * @param string   $filename         導(dǎo)出名字
 */
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編碼,一定要轉(zhuǎn)換,否則亂碼 
                // $head[$i] = iconv('utf-8', 'gbk', $v); 
                $parameter['header'][$i] = iconv('utf-8', 'gb2312//TRANSLIT//IGNORE', $v);
            }
            // 將數(shù)據(jù)通過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 — 字符串按要求的字符編碼來轉(zhuǎn)換

說明

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

將字符串?str?從?in_charset?轉(zhuǎn)換編碼到?out_charset。

參數(shù)?

in_charset:輸入的字符集。

out_charset:輸出的字符集。

str:要轉(zhuǎn)換的字符串。

返回值:返回轉(zhuǎn)換后的字符串, 或者在失敗時(shí)返回?FALSE。

推薦學(xué)習(xí):yii教程

以上是yii2導(dǎo)出csv文件亂碼怎么辦的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
Linux中文亂碼怎么解決 Linux中文亂碼怎么解決 Feb 21, 2024 am 10:48 AM

Linux中文亂碼問題是使用中文字符集和編碼時(shí)常見的一個(gè)問題。出現(xiàn)亂碼的原因可能是文件編碼設(shè)置不正確,系統(tǒng)語言環(huán)境未安裝或未設(shè)置,以及終端顯示配置錯(cuò)誤等。本文將介紹幾種常見的解決方法,并提供具體的代碼示例。一、檢查文件編碼設(shè)置使用file命令查看文件編碼在終端中使用file命令,可以查看文件的編碼:file-ifilename如果輸出中有"charset

Oracle導(dǎo)入中文數(shù)據(jù)時(shí)出現(xiàn)亂碼怎么解決? Oracle導(dǎo)入中文數(shù)據(jù)時(shí)出現(xiàn)亂碼怎么解決? Mar 10, 2024 am 09:54 AM

標(biāo)題:解決Oracle導(dǎo)入中文數(shù)據(jù)亂碼問題的方法及代碼示例在Oracle數(shù)據(jù)庫中導(dǎo)入中文數(shù)據(jù)時(shí),經(jīng)常會(huì)出現(xiàn)亂碼的情況,這可能是由于數(shù)據(jù)庫字符集設(shè)置不正確或者導(dǎo)入過程中出現(xiàn)編碼轉(zhuǎn)換問題所致。為了解決這個(gè)問題,我們可以采取一些方法來保證導(dǎo)入的中文數(shù)據(jù)能夠正確顯示。下面是一些解決方案及具體的代碼示例:一、檢查數(shù)據(jù)庫字符集設(shè)置在Oracle數(shù)據(jù)庫中,字符集的設(shè)置對(duì)于

Linux終端亂碼問題的處理方法 Linux終端亂碼問題的處理方法 Mar 20, 2024 pm 03:12 PM

Linux終端亂碼問題的處理方法在使用Linux系統(tǒng)時(shí),有時(shí)候在終端中顯示的文字會(huì)出現(xiàn)亂碼,這給我們使用終端帶來了不便,需要及時(shí)處理。本文將為大家介紹一些常見的Linux終端亂碼問題的處理方法,同時(shí)提供具體的代碼示例。問題一:終端中文亂碼終端中文亂碼通常是由于終端的字符編碼設(shè)置不正確導(dǎo)致的。我們可以通過修改終端的字符編碼設(shè)置來解決這個(gè)問題。#查看當(dāng)前終端的

PHP中文文件名亂碼問題處理技巧 PHP中文文件名亂碼問題處理技巧 Feb 27, 2024 pm 02:18 PM

PHP中文文件名亂碼問題處理技巧在開發(fā)過程中,經(jīng)常會(huì)遇到處理中文文件名亂碼的問題,尤其是在處理用戶上傳的文件時(shí)。在PHP中,如何正確處理文件名亂碼是一個(gè)比較常見且重要的問題。本文將介紹一些處理中文文件名亂碼問題的技巧,并提供具體的代碼示例,幫助讀者更好地應(yīng)對(duì)這個(gè)挑戰(zhàn)。問題描述當(dāng)用戶上傳文件時(shí),有時(shí)候會(huì)出現(xiàn)中文文件名亂碼的情況。這是因?yàn)椴煌牟僮飨到y(tǒng)和瀏覽器對(duì)

Oracle數(shù)據(jù)庫中文亂碼的解決策略與技巧 Oracle數(shù)據(jù)庫中文亂碼的解決策略與技巧 Mar 08, 2024 am 09:48 AM

Oracle數(shù)據(jù)庫中文亂碼的解決策略與技巧在實(shí)際的數(shù)據(jù)庫應(yīng)用中,很多開發(fā)者或管理員可能會(huì)遇到Oracle數(shù)據(jù)庫中文亂碼的問題。當(dāng)數(shù)據(jù)庫中的數(shù)據(jù)出現(xiàn)亂碼時(shí),不僅影響數(shù)據(jù)的正確性和可讀性,還會(huì)給系統(tǒng)帶來諸多問題。本文將結(jié)合具體的代碼示例,介紹Oracle數(shù)據(jù)庫中文亂碼的解決策略與技巧,幫助讀者更好地理解和解決這一問題。一、亂碼產(chǎn)生原因字符集不一致:數(shù)據(jù)庫連接和應(yīng)

Win11開機(jī)顯示亂碼怎么解決? Win11開機(jī)亂碼的兩種解決辦法 Win11開機(jī)顯示亂碼怎么解決? Win11開機(jī)亂碼的兩種解決辦法 Feb 29, 2024 pm 12:16 PM

Win11是微軟最新的操作系統(tǒng),但是一些用戶在開機(jī)時(shí)可能會(huì)遇到顯示亂碼的問題,這會(huì)影響系統(tǒng)的正常使用,本文將介紹一些解決這個(gè)問題的方法。方法一:1、按【W(wǎng)in+S】組合鍵,或點(diǎn)擊任務(wù)欄上開始圖標(biāo)旁邊的【搜索圖標(biāo)】,在打開的Windows搜索中,搜索框輸入【控制面板】,然后點(diǎn)擊【打開】系統(tǒng)給出的最佳匹配控制面板應(yīng)用;2、控制面板窗口,切換到【類別】查看方式,然后點(diǎn)擊【時(shí)鐘和區(qū)域-區(qū)域】;3、區(qū)域窗口,切換到【管理】選項(xiàng)卡,然后點(diǎn)擊【更改系統(tǒng)區(qū)域設(shè)置】;4、【取消勾選】Beta版:使用Unicode

詳解PHP網(wǎng)頁中文顯示亂碼的原因及解決方案 詳解PHP網(wǎng)頁中文顯示亂碼的原因及解決方案 Mar 26, 2024 pm 12:36 PM

PHP是一種常用的服務(wù)器端腳本語言,通常用于開發(fā)動(dòng)態(tài)網(wǎng)頁。在網(wǎng)頁開發(fā)過程中,經(jīng)常會(huì)遇到中文顯示亂碼的問題,這是因?yàn)樽址幋a不一致所致。本文將詳細(xì)探討PHP網(wǎng)頁中文顯示亂碼的原因及解決方案,并提供具體的代碼示例。一、原因分析PHP文件本身編碼問題:PHP文件的編碼應(yīng)該與服務(wù)器端環(huán)境保持一致。如果PHP文件以UTF-8編碼保存,而服務(wù)器端環(huán)境使用了其他編碼,就會(huì)

PHP處理數(shù)據(jù)庫中文亂碼的技巧與實(shí)踐 PHP處理數(shù)據(jù)庫中文亂碼的技巧與實(shí)踐 Mar 27, 2024 pm 05:21 PM

PHP是一種廣泛應(yīng)用于網(wǎng)站開發(fā)的后端編程語言,它具有強(qiáng)大的數(shù)據(jù)庫操作功能,常用于與MySQL等數(shù)據(jù)庫進(jìn)行交互。然而,由于中文字符編碼的復(fù)雜性,在處理數(shù)據(jù)庫中文亂碼時(shí)常常會(huì)出現(xiàn)問題。本文將介紹PHP處理數(shù)據(jù)庫中文亂碼的技巧與實(shí)踐,包括常見的亂碼原因、解決方法和具體的代碼示例。常見的亂碼原因數(shù)據(jù)庫字符集設(shè)置不正確:數(shù)據(jù)庫在創(chuàng)建時(shí)需選擇正確的字符集,如utf8或u

See all articles