网上查了下资料,了解了一下,主要是user-agent变了,不再是msie,面是rv:11.0这样,所以只要服务端判断出是ie 11,处理跟msie一样。
go:
funcsetdownloadfilename(whttp.responsewriter,filename,agentstring){
ifstrings.contains(agent,msie){
filename=url.queryescape(filename)
filename=strings.replace(filename,+,%20,-1)
}
ifstrings.contains(agent,rv:)&&strings.contains(agent,gecko){
filename=url.queryescape(filename)
filename=strings.replace(filename,+,%20,-1)
}
w.header().set(content-disposition,attachment;filename=\+filename+\)
}
php:
$ua = isset ( $_server [http_user_agent] ) ? $_server [http_user_agent] : ''; if (preg_match ( /msie/, $ua )) { $file_name = rawurlencode ( $file_name ); header ( 'content-disposition: attachment; filename=' . $file_name . '' );} else if (preg_match ( /firefox/, $ua )) { header ( 'content-disposition: attachment; filename*=utf8\'\'' . $file_name . '' );} elseif (stripos ( $ua, 'rv:' ) > 0 && stripos ( $ua, 'gecko' ) > 0) { $file_name = rawurlencode ( $file_name ); header ( 'content-disposition: attachment; filename=' . $file_name . '' );} else { header ( 'content-disposition: attachment; filename=' . $file_name . '' );}
以上就介绍了ie 11下载文件中文乱码解决go/php,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。
