move_upload_file 因为文件字符集编码iconv引起的问题
2016-04-09 22:41
316 查看
对 包含中文的文件 进行操作时提示 Invalid argument?
包括: 这里的move_uploaded_file和 fopen等操作都是如此.而且用了字符编码转换后, iconv('utf8', 'gb2312//ignore', $filename); 上传的文件名也没有乱码了!!1
程序开发的过程中总是能遇到各式各样的问题, 因为中文字符而出现错误的场景太多了. 比如用fopen()创建文件的时候就有可能提示 "...failed to open stream: Invalid argument in..." 这样的错误提示, 导致出现这个错误的主要原因就是 :::因为中文编码不一致造成的::: 解决的方法很简单, 用iconv()函数 比如: iconv("UTF-8","GB2312//IGNORE",$str) //把utf-8转为中文gb2312 "//IGNORE"表示屏蔽错误继续执行 测试一下错误提示取消, 上面的"//IGNORE" 去掉一般也不会出错.
这里特别要注意的是: utf-8, 一定要用utf-8, 要加上中间的那个横杠, 不能写utf8! 那样会出错的!
iconv函数的一个bug::: iconv在转换字符"—"到gb2312时会出错
解决方法很简单,就是在需要转成的编码后加 "//IGNORE" 也就是iconv函数第二个参数后.如下:
iconv("UTF-8","GB2312//IGNORE",$data)
ignore的意思是忽略转换时的错误,如果没有ignore参数,所有该字符后面的字符串都无法被保存
相关文章推荐
- 不用加减乘除做加法
- 【js】:javascript中的数据类型
- 常见算法之归并排序java实践
- 手机各类传感器的区别与可获得数据
- 宿主机为linux、windows分别实现VMware三种方式上网(转)
- 链表中环的入口结点
- NoSQL 简介
- GDOI2016模拟3.9 暴走的图灵机 矩阵乘法优化暴力
- Subline Java 环境搭建
- SQLiteOpenHelper类的简化操作数据库(api查询方式)
- python3.0与python2.0有哪些不同
- 数组的一些内置方法
- 百度 罪犯转移
- Land oj 1611 - Null (水)
- 统计文本中某值字段数量-cat-awk-sort-uniq-c
- Excuses, Excuses!
- 4.1 左值到右值的转换 中英文对照(C++标准中文版 ISO/IEC 14882:2014)
- hdu1098(基础)
- 1002. A+B for Polynomials (25)
- Javascript表单