Php ISO-8859-1至UTF-8

Php ISO-8859-1至UTF-8,php,character-encoding,upload,mb-convert-encoding,Php,Character Encoding,Upload,Mb Convert Encoding,英文文件上传时没有任何问题,但是如果我上传utf-8格式文件的格式,我会出现如下错误:无法打开流:参数无效 $file正在工作。所以我不认为改变格式是个问题。我不知道是什么问题。天才,请帮帮我。多谢各位 我找到了iconv函数:://忽略更改-c选项。对 echo "==>".var_dump(iconv_get_encoding('all'))."<br>"; // result: 'ISO-8859-1' //$fileName = iconv("utf-8", "IS

英文文件上传时没有任何问题,但是如果我上传utf-8格式文件的格式,我会出现如下错误:无法打开流:参数无效
$file
正在工作。所以我不认为改变格式是个问题。我不知道是什么问题。天才,请帮帮我。多谢各位


我找到了iconv函数:://忽略更改-c选项。对

echo "==>".var_dump(iconv_get_encoding('all'))."<br>"; // result: 'ISO-8859-1'

//$fileName = iconv("utf-8", "ISO-8859-1", $_FILES['csv_file']['name']);
$file = mb_convert_encoding($_FILES['csv_file']['name'],"utf-8", "utf-8");
$file = basename($file);

echo "\nfile name:  ".$file; // result: utf-8 format working

if(is_uploaded_file($_FILES["csv_file"]["tmp_name"])) {
    $target_path =  $_SERVER['DOCUMENT_ROOT'] . "/upload/".$file; //basename($_FILES['csv_file']['name']);
    move_uploaded_file($_FILES['csv_file']['tmp_name'], $target_path);
}
echo $target_path; //result: C:/APM_Setup/htdocs/upload/filename.txt
echo“==>”.var_dump(iconv_get_encoding('all'))。“
”;//结果:“ISO-8859-1” //$fileName=iconv(“utf-8”、“ISO-8859-1”、$_文件['csv_文件']['name']); $file=mb_convert_编码($_文件['csv_文件']['name'],“utf-8”,“utf-8”); $file=basename($file); echo“\n文件名:”.$file;//结果:utf-8格式工作正常 如果(是上传的文件($\u文件[“csv\u文件”][“tmp\u名称”])){ $target\u path=$\u SERVER['DOCUMENT\u ROOT'].“/upload/”$file;///basename($\u FILES['csv\u file']['name']); 移动上传的文件($\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\; } echo$target_路径//结果:C:/APM\u Setup/htdocs/upload/filename.txt
如果删除文件名的“mb\u convert\u encoding”,则此操作正常。也许您必须检查$target_路径中系统无法处理的任何特殊字符。如果删除文件名的“mb_convert_encoding”,这是正确的。也许您必须检查$target\u路径中系统无法处理的任何特殊字符