php ie下載亂碼的解決辦法:首先打開(kāi)相應(yīng)的PHP文件;然后在文件名輸出時(shí),將文件名轉(zhuǎn)換成gb2312編碼,代碼如“$name = iconv("utf-8","gb2312",$name);”。
推薦:《PHP視頻教程》
網(wǎng)站開(kāi)發(fā)中,經(jīng)常會(huì)碰到下載文件功能,某些需求就要下載文件名為中文。
一般輸出中文都會(huì)用UTF-8編碼,但I(xiàn)E瀏覽器的一些版本轉(zhuǎn)換下載文件名時(shí),并不使用UTF-8編碼,導(dǎo)致文件名亂碼。測(cè)試了名為“中文.txt”的文件下載功能,在IE 11瀏覽器的下載如下:
在其他瀏覽器上,比如chrome,火狐,360都沒(méi)有問(wèn)題:
嘗試了一下,在文件名輸出時(shí),將文件名轉(zhuǎn)換成gb2312編碼,問(wèn)題就解決了,代碼如下:
$name = '中文.txt'; //轉(zhuǎn)換文件名編碼 $name = iconv("utf-8","gb2312",$name); Header("Content-Disposition: attachment; filename=".$name);
效果截圖如下: