上传中文文件名的图片的问题

$model->image=CUploadedFile::getInstance($model,‘image’);

if($model->save())

$model->image->saveAs(‘path/to/localFile’);

用这个方法上传图片,文件名是英文的没问题,但是只要是文件名中含有中文,数据库中保存的文件名是对的,但是服务器上的图片文件夹中的文件名就是乱码,这该怎么解决啊,或者有什么替代方法(FCKeditor暂不考虑)

翻了翻以前的帖子,说是操作系统本身编码的问题,解决方法是更改目标图片的文件名,那我在程序中要怎么改呢?$model->image->name是只读啊

上传那个字段用做存储原文件名,另外做一个字段,保存实际存储文件名

实际存储文件名,可以利用md5来生产,或者其它方法也可以,最好不要有中文咯~

刚弄出来,中文还没试过,不过名字可以改

$model=$this->loadModel();

	// Uncomment the following line if AJAX validation is needed


	// $this->performAjaxValidation($model);


	if(isset($_POST['UsersProfile']))


	{


		$model->attributes=$_POST['UsersProfile'];


		$form=CUploadedFile::getInstance($model, 'image');


		if($form != null)


			$model->image=$this->imageName($form->name);


		//$model->image->name=$this->imagePath($model->image->name);


		if($model->save())


		{


			if($form != null)


				$form->saveAs(UsersProfile::IMAGE_PATH.$model->image);


			$this->redirect(array('view','id'=>$model->id));


		}	


	}

测试