国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 大竹县| 馆陶县| 星座| 苏尼特右旗| 宁波市| 定州市| 桂林市| 迁安市| 宾川县| 昆山市| 玉环县| 六安市| 柘荣县| 樟树市| 应城市| 时尚| 京山县| 涞源县| 武胜县| 泽普县| 茶陵县| 兴义市| 莱州市| 中超| 广灵县| 通城县| 阿图什市| 青冈县| 宁国市| 方正县| 鄂伦春自治旗| 大荔县| 炉霍县| 定安县| 秭归县| 香港| 桐庐县| 宜城市| 响水县| 靖宇县| 南城县|