存为
utf-8 格式的,在给文件名命名时会出现乱码的情况,所以可以用 iconv()函数将原本的
utf-8 格式的文件名转换为 gbk 格式的。
php utf8 编码 上传中文文件名出现乱码的解决方法
想必很多朋友在进行
utf8 编码的 php 开发上传功能的时候,都会遇到这样的一个问题 ,
就是上传中文文件名的文件时,文件名会变成乱码,我们可以用
iconv 函数对文件名进行
重新编码就解决问题了。
代码如下
:
<?php
header("Content-Type:text/html;charset=utf-8");
$submit = $_POST['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);
}
}
}
?>