1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > PHP中文文件名输出乱码解决方法

PHP中文文件名输出乱码解决方法

时间:2019-05-16 12:32:43

相关推荐

PHP中文文件名输出乱码解决方法

php教程|php手册

php中文乱码,php乱码方法

php教程-php手册

在php中碰到中文文件名乱码一般都是初学者了,因为我们一般不会使用中文文名了,因为大家都知道php对中文支持不友好,那么我们要如何解决php中文文件名乱码问题呢?下面小编给各位整理了一些方法,下面一起来看看.

asp源码科学计算器,vscode中调试vue,mxq盒子ubuntu,tomcat 配置 优化,h5 打开sqlite,统一前端架构的底层框架是,python爬虫制作信息采集器,java 和php 就业,天水市seo,js 网站首页下拉广告,网页问卷调查asp原代码,中通快递模板图片lzw

原因是编码问题,所以要转码,用户PHP里面的 iconv 函数就可以解决:

最新免公众号夹娃娃源码,ubuntu查看密码策略,江湖爬虫眼睛,php $sql,seo优惠软件lzw

iconv(“当前使用的编码如:utf-8″,”要转换的编码如:GB2312″,”文件名”);

鑫众棋牌有源码吗,ubuntu返回公网ip,Tomcat其他计算机访问,eclipse编写爬虫,博客系统为什么都是PHP,seo培训大学lzw

php实例代码如下:

$file_name="我的文件.jpg"; $file_name=iconv("utf-8","gb2312",$file_name); //解决中文乱码问题 echo $file_name;

例子:

<?php //执行创建中文名html文件 file_put_contents(PHPCMS_PATH. est/.iconv(UTF-8, GBK, 中文名)..html, xxxxxxxxxxx);

另一种解决中文乱码问题在于,代码如下:

$sFileName = "sda.php"; $sOriginalFileName = $sFileName; $sExtension = s str($sFileName, (strrpos($sFileName, .) + 1));//找到扩展名 $sExtension = strtolower($sExtension); $sFileName = date("YmdHis").rand(100, 200).".".$sExtension; //这样就是我们的新文件名了,全数字的不会有乱码了。

我们还可以使用urlencode来进行编译,如:urlencode(‘中文’);例子代码如下:

<?php$file = "/tmp/中文名.tar.gz";$filename = basename($file);header("Content-type: application/octet-stream");//处理中文文件名$ua = $_SERVER["HTTP_USER_AGENT"];$encoded_filename = urlencode($filename);$encoded_filename = str_replace("+", "%20", $encoded_filename);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 . \");}header(Content-Disposition: attachment; filename=" . $filename . \");header("Content-Length: " . filesize($file));readfile($file);

注意:我的服务器是windows xp、apache,估计xp字符集是gbk,因为我的php代码保存为utf-8格式的,在给文件名命名时会出现乱码的情况,所以可以用iconv()函数将原本的utf-8格式的文件名转换为gbk格式的.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。