php 文件上传出现乱码问题
2016-07-09 11:06
585 查看
我们知道,在文件上传时,如果没有什么修改,服务器保存附件名字就是文件本身的名字,但有时我们上传附件完毕后,到指定的目录查看上传完成的附件时却发现附件名字出现了乱码?怎么解决这种现象呢?
其实很简单,我们来看看其原理是怎么样的:
首先我们看文件上传流程:
本地文件--------->上传(php程序处理)---------->服务器
本地文件名字的字符集为gb2312(通常简体中文windows采用GB2312,极个别文本字符采用utf-8字符集)
php程序的字符集utf8
服务器的字符集 gb2312
这明显信息交互显示时字符集不一致,这也是为什么会出现乱码的原因所在
解决:
我们只需要在php程序里面吧utf-8编码的附件名字 转换为 gb2312就行了,如:
$name = $_FILES['user_pic']['name'];
$name = iconv('utf-8','GB2312',$name); // $name的字符编码由utf-8 变为 gb2312;
然后后面该干嘛干嘛
这样再查看上传的附件时文件名就可以正常显示了!
其实很简单,我们来看看其原理是怎么样的:
首先我们看文件上传流程:
本地文件--------->上传(php程序处理)---------->服务器
本地文件名字的字符集为gb2312(通常简体中文windows采用GB2312,极个别文本字符采用utf-8字符集)
php程序的字符集utf8
服务器的字符集 gb2312
这明显信息交互显示时字符集不一致,这也是为什么会出现乱码的原因所在
解决:
我们只需要在php程序里面吧utf-8编码的附件名字 转换为 gb2312就行了,如:
$name = $_FILES['user_pic']['name'];
$name = iconv('utf-8','GB2312',$name); // $name的字符编码由utf-8 变为 gb2312;
然后后面该干嘛干嘛
这样再查看上传的附件时文件名就可以正常显示了!
相关文章推荐
- yii2获取表及字段
- phpStudy7——MySql数据库的增删查改
- php同名方法
- php不定参数方法(函数)和可选参数方法(函数)
- crontab定时执行php脚本备份数据库
- Sphinx+MySQL+PHP 12亿DNS数据秒查
- PHP面向对象技术(全面讲解)
- PHP的单例模式--三私一公
- php中魔术方法总结
- PhpStorm 常用快捷键和配置
- Ubuntu16.04配置ftp服务器
- thinkphp前台模板运算符
- php常用字符串输出方法分析(echo,print,printf及sprintf) 原创
- php简单隔行变色功能实现代码 原创
- php简单防盗链验证实现方法 原创
- PHP的执行过程
- 介绍PHP和Zend
- php laravel5 如何导入自己创建的类
- PHP内核——hash算法
- php文件操作 复制 上传