平板模式
社区应用
帖子
相册
日志
群组
热榜
分享
记录
社区服务
名人堂
积分兑换奖品
银行
统计排行
会员列表
基本信息
到访IP统计
管理团队
管理统计
在线会员
会员排行
版块排行
帖子排行
标签排行
转帖工具
您好,欢迎光临本站!
登录
注册新用户
下拉
用户名
UID
电子邮箱
用户名
密 码
记住登录
登录
找回密码
注册
高级
我的快捷通道
关闭
您还没有登录,快捷通道只有在登录后才能使用。
立即登录
还没有帐号? 赶紧
注册一个
论坛
群组
我的空间
官方微博
新人帮助
技术频道
下载频道
总版规
红豆奖励计划
积分兑换奖品
安全
程序开发
数据库
站长学院
网络
操作系统
读书频道
redblack
春意盎然
水墨江南
紫色梦幻
绿之印象
蓝色天空
黑色旋风
>
WEB开发
>
php 文件中文文件名乱码的解决方法
发帖
回复
返回列表
1974
阅读
0
回复
[php]
php 文件中文文件名乱码的解决方法
[复制链接]
上一主题
下一主题
itxdl
UID:866651
注册时间
2016-09-06
最后登录
2017-08-16
在线时间
15小时
发帖
7
搜Ta的帖子
精华
0
黑豆
35
威望
35
贡献值
0
交易币
0
红豆
0
访问TA的空间
加好友
用道具
菜鸟(发帖需审核,请升级)
关闭
个人中心可以申请新版勋章哦
立即申请
知道了
发帖
7
黑豆
35
威望
35
贡献值
0
交易币
0
红豆
0
加关注
发消息
只看楼主
倒序阅读
0
发表于: 2016-09-07
想必很多朋友在进行utf8编码的php开发上传功能的时候,都会遇到这样的一个问题,就是上传中文文件名的文件时,文件名会变成乱码,其实我们可以用iconv函数对文件名进行重新编码就解决问题了
php文件使用的是UTF-8编码,如果没有猜错APACHE处理用的应该是GBK。想明白了这个问题,就去查找相关的教程了,索性找到了iconv这个函数。
函数原型:string iconv ( string in_charset, string out_charset, string str )
使用例子:$content = iconv(“GBK”, “UTF-8”, $content);
这个例子的作用就是将$content从GBK转换成UTF-8编码。
乱码问题关键代码:
复制代码 代码如下:
$name=iconv("UTF-8","gb2312", $name);
除了这样来解决上传文件中文乱码问题,我们还可以把上传文件重新命名即可。
例
复制代码 代码如下:
$sFileName = “sda.php”;
$sOriginalFileName = $sFileName;
$sExtension = s str($sFileName, (strr【违禁词,系统已经屏蔽】($sFileName, ‘.’) + 1));//找到扩展名
$sExtension = strtolower($sExtension);
$sFileName = date(“YmdHis”).rand(100, 200).”.”.$sExtension; //这样就是我们的新文件名了,全数字的不会有乱码了哦。
以下是一些补充:
php上传中文文件名乱码解决方案
复制代码 代码如下:
$filepath=”upload/”;
$name=$filepath.$_FILES[“upfile”][“name”];
while(file_exists($name)){
$temp=explode(“.”,$name);//分割字符串
$name=$temp[0].”0″.”.”.$temp[1];//主文件名后面加0
}
复制代码 代码如下:
//iconv()函数是关键
if(move_uploaded_file($_FILES[“upfile”][“tmp_name”],iconv(“UTF-8″,”gb2312”,$name))){//处理…}
我的PHP编码是UTF-8,其中原因可能是因为操作系统是GBK的原因!
注意:我的服务器是windows xp、apache,估计xp字符集是gbk。因为我的php代码保存为utf-8格式的,在给文件名命名时会出现乱码的情况,所以可以用iconv()函数将原本的utf-8格式的文件名转换为gbk格式的。
php utf8编码 上传中文文件名出现乱码的解决方法
想必很多朋友在进行utf8编码的php开发上传功能的时候,都会遇到这样的一个问题,就是上传中文文件名的文件时,文件名会变成乱码,我们可以用iconv函数对文件名进行重新编码就解决问题了。
复制代码 代码如下:
header("Content-Type:text/html;charset=utf-8");
$submit = $_【违禁词,系统已经屏蔽】T['submit'];
if(isset($submit) && trim($submit) != ''){
$file = $_FILES['file'];
if(isset($file['tmp_name'])){
$name = iconv('utf-8','gb2312',$file['name']); //利用Iconv函数对文件名进行重新编码
if(move_uploaded_file($file['tmp_name'],$name)){
echo '文件上传成功!';
echo '图片信息:';
print_r($file);
}
}
}
共
条评分
快速回复
限100 字节
您目前还是游客,请
登录
或
注册
进入高级模式
文字颜色
发 布
回复后跳转到最后一页
上一个
下一个
隐藏
快速跳转
第一栏目
新人交流区
悬赏问答
原创作品发布
业界资讯
评论
安全技术
电脑安全
网站安全
加密解密技术
编程开发
软件编程开发
WEB开发
数据库
微信公众平台开发与营销
微信公众平台开发
微信营销
电脑技术
系统技术
网络技术
QQ部落
硬件相关
资源分享版
学习资料下载区
站长交流
网站建设
网站源码
休憩&交易版
红黑茶社
其它板块
Vip板块
活动&兑奖区
论坛管理区
管理团队版
关闭
关闭
选中
1
篇
全选