Apache2 上载文件时无法设置正确的字符集
请耐心检查这个问题 我编写了一些用于上传图像的简单PHP代码 下面是代码(片段)Apache2 上载文件时无法设置正确的字符集,apache2,php,postgresql,upload,Apache2,Php,Postgresql,Upload,请耐心检查这个问题 我编写了一些用于上传图像的简单PHP代码 下面是代码(片段) 这似乎是堆栈溢出问题,与ServerFault无关。然而,你应该看看这篇文章: 对于UTF-8中的命名文件: 对于以UTF-8格式写入文件: 事实证明,我并没有什么都试过 多亏了我找到了解决办法 这与PHP以及“PHP文件系统函数只能处理系统代码页中的字符”有关 所以我使用了iconv函数 我这样修改了密码 move_uploaded_file($_FILES["file"]["tmp_name"],"uploa
这似乎是堆栈溢出问题,与ServerFault无关。然而,你应该看看这篇文章:
对于UTF-8中的命名文件:
对于以UTF-8格式写入文件:
事实证明,我并没有什么都试过
多亏了我找到了解决办法
这与PHP以及“PHP文件系统函数只能处理系统代码页中的字符”有关
所以我使用了iconv
函数
我这样修改了密码
move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . iconv('UTF-8', 'Windows-1253',$_FILES["file"]["name"]));
对于使用日语的应用程序,代码页为cp932
这可以通过在命令行中使用chcp
命令来确认
示例代码
$fullPath = $uploadFolderPath."\\".iconv("utf-8", "cp932", $fileName);
move_uploaded_file($this->request->data["file_name"]['tmp_name'], $fullPath);
$fullPath = $uploadFolderPath."\\".iconv("utf-8", "cp932", $fileName);
move_uploaded_file($this->request->data["file_name"]['tmp_name'], $fullPath);