成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

解決utf8編碼中php導(dǎo)出CSV亂碼的方法-創(chuàng)新互聯(lián)

小編給大家分享一下解決utf8編碼中php導(dǎo)出CSV亂碼的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

創(chuàng)新互聯(lián)專(zhuān)注于企業(yè)全網(wǎng)營(yíng)銷(xiāo)推廣、網(wǎng)站重做改版、太湖網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5場(chǎng)景定制、商城網(wǎng)站制作、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性?xún)r(jià)比高,為太湖等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

解決亂碼的方法:1、使用iconv函數(shù)將utf8編碼轉(zhuǎn)碼為GBK,語(yǔ)法“$str = iconv('utf-8', 'GBK//IGNORE', $str));”;2、在輸出內(nèi)容前先輸出BOM頭,這樣Excel就可自動(dòng)識(shí)別到是UTF-8了。

解決utf8編碼中php導(dǎo)出CSV亂碼的方法

其實(shí)需求是把數(shù)據(jù)導(dǎo)出到Excel,很當(dāng)然的想到大名鼎鼎的PHPExcel這個(gè)庫(kù)。這個(gè)庫(kù)是很強(qiáng)大,就是比較占用內(nèi)存,超過(guò)10萬(wàn)的數(shù)據(jù),在web請(qǐng)求中基本是很難完成了。因此,使用原生PHP導(dǎo)出輕量的csv還是有需求的。

一般情況下,導(dǎo)出UTF-8編碼的常規(guī)內(nèi)容到csv當(dāng)中,用Excel打開(kāi)都是亂碼,更別說(shuō)一些非主流字符,或者是emoji表情。亂碼,是因?yàn)樵趙indows系統(tǒng)下,默認(rèn)的Excel是使用GBK編碼解析的。現(xiàn)如今,編碼哪還有不是使用UTF-8的,真有,那也是大公司知名產(chǎn)品會(huì)為了省那點(diǎn)流量出有GBK等其他編碼的版本,一般情況下都是使用UTF-8的。

要解決亂碼問(wèn)題,PHP中做法一般是使用iconv函數(shù)進(jìn)行轉(zhuǎn)碼為GBK,這樣,默認(rèn)的Excel打開(kāi)就不會(huì)有問(wèn)題了。但對(duì)于emoji表情等主流字符,GBK并不能顯示,轉(zhuǎn)碼失敗直接為空了??梢蕴砑?/IGNORE標(biāo)記進(jìn)行忽略,這樣只是忽略了它們,其他正常字符是能夠保留的。

$str = iconv('utf-8', 'GBK//IGNORE', $str));

這可以說(shuō)是一種折中方案。能不能不轉(zhuǎn)碼直接輸出UTF-8?難道Excel還不能自動(dòng)識(shí)別UTF-8進(jìn)而使用UTF-8來(lái)解碼顯示么?其實(shí)是可以的,只是它需要一個(gè)BOM頭(在非windows的世界里是沒(méi)有這個(gè)東西的),有這個(gè)BOM頭它就能識(shí)別到是UTF-8,否則識(shí)別不了用默認(rèn)的GBK來(lái)處理,自然就是亂碼了。如何正確輸出所謂的BOM頭,看代碼:

$fp = fopen('./test_csv.csv', 'a');
fwrite($fp,chr(0xEF).chr(0xBB).chr(0xBF));//輸出BOM頭
fputcsv($fp, ['標(biāo)題']);
fputcsv($fp, ['解決亂碼']);
fclose($fp);

可以解決所謂亂碼以及正常顯示emoji表情等非主流字符。

看完了這篇文章,相信你對(duì)解決utf8編碼中php導(dǎo)出CSV亂碼的方法有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!

當(dāng)前題目:解決utf8編碼中php導(dǎo)出CSV亂碼的方法-創(chuàng)新互聯(lián)
當(dāng)前URL:http://jinyejixie.com/article40/cccjho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈關(guān)鍵詞優(yōu)化、網(wǎng)站設(shè)計(jì)公司定制開(kāi)發(fā)、微信小程序、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
定边县| 焦作市| 襄城县| 威远县| 洪江市| 泰州市| 贵德县| 龙口市| 汶川县| 嘉义县| 安吉县| 宁海县| 肥东县| 天镇县| 额济纳旗| 宁海县| 鹰潭市| 鹰潭市| 姜堰市| 新巴尔虎左旗| 宁乡县| 东平县| 阿克陶县| 漾濞| 宣汉县| 五河县| 贵德县| 阳信县| 灵寿县| 巴南区| 阿坝| 公安县| 松阳县| 开平市| 彩票| 蓬莱市| 拉萨市| 扎鲁特旗| 清涧县| 和平区| 泰州市|