PHP 上传文件 设置中文文件名会出现乱码

<?php
include('common.inc.php');
date_default_timezone_set("PRC");
define ("FILEREPOSITORY", "F:/server/Apache Software Foundation/Apache2.2/htdocs/et/picupload/");

$activeTitle = $_POST['title']; //标题
$activeStartDate = $_POST['startDate']; //开始时间
$activeEndDate = $_POST['endDate']; //结束时间
$activeActor = $_POST['actor']; //组织者
$activeContent = $_POST['content']; //内容
$activeAddress = $_POST['address']; //地址
$activeTag = $_POST['tag']; //标签
$activeRelman = $_POST['actor']; //联系人 默认为组织者
$activeRelphone = $_POST['relphone']; //联系电话
$activeQQ = $_POST['qq']; //QQ
$activeEmail = $_POST['email']; //E-mail

//默认字段
$activeStatus = '0';
$activeJoinNum = 0; //参加人数 默认为0
$activeInterestNum = 0; //感兴趣人数 默认为0
$activeLoginDate = date("Y-m-d H:i:s"); //录入时间
$activeIsTop = '0'; //是否置顶
$activeUid = 1; //校区id

$filename = $activeTitle.".jpg";

if(($activeTitle) && ($activeContent) && ($activeStartDate) && ($activeEndDate))
{
//上传图片
$result = move_uploaded_file($_FILES['picupload']['tmp_name'],FILEREPOSITORY."$filename");

就是这段代码,如果重命名这个上传的文件为中文的话就会出现乱码 ,但是在显示器和数据库中输出都正确 页面和脚本字符集已经设为utf-8 如果手动设置$filename为中文的话也是如此 页面输出和数据库都可以显示中文 但是上传的文件名依然被命名为乱码 不知道是哪里的字符集冲突了 望大神赐教
win7 系统 apache2.2 PHP5

服务器是什么系统?
系统是什么语言版本?
是否支持中文?

建议,就像程序文件名都用英文或数字来命名一样,为了兼容性,一般都不会把文件名设置为中文或其他语言的字体。
温馨提示:内容为网友见解,仅供参考
无其他回答

电脑是日文系统的,php实现上传文件时,如果是中文名,就会乱码,使用iconv...
先确定php文件的编码格式是不是UTF-8的,比如在头部加:header('Content-Type: multipart\/form-data;charset=utf-8');再确认下文件上传时提交的文件名是否也是这个格式的

如何解决PHP中文乱码问题
PHP中文乱码主要是编码不对,存在以下两种情况,你以此检查一下 ,改对编码就行了 1、 php文件本身的编码与网页的编码应匹配 a. 如果欲使用gb2312编码,那么php要输出头:header(“Content-Type: text\/html; charset=gb2312"),静态页面添加,所有文件的编码格式为ANSI,可用记事本打开,另存为...

怎样解决PHP中文乱码问题
1一般出现在网页,用网页上面的查看——编码——简体中文即可解决。2 出现乱码一般是Windows系统字库的问题,可能是系统错误或不正常关机造成的,也可能是某些软件需要使用操作系统以外的字库造成的。解决办法得看具体的问题,一般情况下的Windows乱码可以通过以下三种方法解决。第一种方法是下载 解决Windows...

如何解决Zend Studio的中文乱码问题
01 首先我们新建一个PHP文件,然后在文件中写入一句中文内容,如下图所示 02 接下来我们将新建的PHP文件拖到Zend Studio软件中,你会看到刚才写的中文变成了一堆乱码,如下图所示 03 然后我们点击顶部的Window菜单,在下拉菜单

...函数处理中文文件名称的解决方法,在上传文件时,总是出现乱码_百度知 ...
两个解决办法:第一,不使用中文文件名;第二,对文件名进行编码转换,然后mb_substr就不会出现乱码了。

php文件怎么打开是乱码?
你应该把error_reporting改为E_ALL~E_NOTICE这样就不会有NOTICE级的警告 PHP输出简单的中文乱码问题解决php中中文乱码问题方法 php文件本身的编码与网页的编码应匹配 a.如果欲使用gb2312编码,那么php要输出头:header(“Content-Type:text\/html;charset=gb2312"),静态页面升如添加meta?http-equiv="...

PHP 解压缩中文文件名乱码
path = iconv("utf-8","gb2312",$path );转换下试试

Spring MVC 采用 MultipartFile 上传文件,文件名中存在中文乱码
Spring MVC 采用 MultipartFile 上传文件,文件名中存在中文乱码 文件上传流程,首先文件是在页面上传到node接口,然后在通过node传到后台controller附件中的两张图:分别是controller和node代码,最后一个上传后的文件。说明一下:最后的文件名=规则... 文件上传流程,首先文件是在页面上传到node接口,然后在通过node传到后台...

为什么使用php GD库图片输出中文字会出现乱码
1、服务器编码原因。由于imagettftext函数字符串参数的默认编码是UTF8,如果服务器编码不一致,而又没有进行相应的字符编码格式转换,很容易出现使用gd库输出图片时中文字符变成乱码。2、没有选择正确的TTF字体文件。使用gd库时如果要输出中文字符,需要选择正确的TTF字体文件。解决方法:根据之前介绍的php gd...

php scandir() 中文文件或目录出现乱码怎样解决?
echo iconv('gbk' , 'utf-8' , $file ) . '';} ?> 转换时 gbk 转 utf8 就可以,如果你的网页编码是 gbk的话 没必要转 也不会出现乱码。PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使...

相似回答