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)文章!

熱AI工具

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

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

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

Clothoff.io
AI脫衣機(jī)

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

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的代碼編輯器

SublimeText3漢化版
中文版,非常好用

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

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

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

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

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

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ù)庫中文亂碼的解決策略與技巧在實(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是微軟最新的操作系統(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ù)器端腳本語言,通常用于開發(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是一種廣泛應(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
