国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > PHP > 正文

PHP附件下載中文名稱(chēng)亂碼的解決方法

2024-05-04 23:41:02
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
這篇文章主要介紹了PHP附件下載中文名稱(chēng)亂碼的解決方法,分析了中文亂碼形成的原因及對(duì)應(yīng)的編碼轉(zhuǎn)換方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
 

本文實(shí)例講述了PHP附件下載中文名稱(chēng)亂碼的解決方法。分享給大家供大家參考,具體如下:

PHP中,如果要下載的文件名稱(chēng)為中文,則會(huì)出現(xiàn)文件標(biāo)題亂碼。

此時(shí)就需要對(duì)標(biāo)題進(jìn)行編碼,也就是說(shuō)先進(jìn)性u(píng)rlencode,然后再放入header,然后問(wèn)題就解決了。

$filename = urlencode("下載文檔");header ( "Content-disposition: attachment; filename=$filename.xls" );

網(wǎng)上說(shuō),在RFC2231的定義里面, 多語(yǔ)言編碼的Content-Disposition應(yīng)該這么定義: 

復(fù)制代碼代碼如下:
Content-Disposition: attachment; filename*="utf8''%E6%B5%8B%E8%AF%95.html"

即:

 

filename后面的等號(hào)之前要加 * 
filename的值用單引號(hào)分成三段,分別是字符集(utf8)、語(yǔ)言(空)和urlencode過(guò)的文件名。

所以這時(shí)應(yīng)該對(duì)文件名進(jìn)行url編碼轉(zhuǎn)換 ,使用php的urlencode很輕松就搞定了

$ua = _SERVER["HTTP_USER_AGENT"];$filename = "中文 文件名.txt";$encoded_filename = urlencode($filename);$encoded_filename = str_replace("+", "%20", $encoded_filename);header('Content-Type: application/octet-stream');if (preg_match("/MSIE/", $ua)) {  header('Content-Disposition: attachment; filename="' . $encoded_filename . '"');} else if (preg_match("/Firefox/", $ua)) {  header('Content-Disposition: attachment; filename*="utf8/'/'' . $filename . '"');} else {  header('Content-Disposition: attachment; filename="' . $filename . '"');}

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。



注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到PHP教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 长顺县| 延川县| 万源市| 泾川县| 阿坝县| 乐清市| 长兴县| 泸溪县| 胶州市| 志丹县| 蒙自县| 天柱县| 张家界市| 沅陵县| 贡嘎县| 乡宁县| 体育| 和硕县| 新河县| 聂荣县| 乌恰县| 来凤县| 福州市| 盐亭县| 青河县| 双辽市| 梁平县| 乐山市| 确山县| 綦江县| 丹江口市| 靖江市| 紫云| 华容县| 建始县| 靖远县| 松阳县| 高雄县| 东山县| 玉树县| 宁蒗|