我的应用程序正在从阿拉伯语数据库中获取一个属性,当我尝试保存文件并根据此属性重命名它时,我得到了这些字符(سين2Ù...Ø ̈ني Ø ̈) 而不是 (مبني ب) 但是,当我尝试打印它时,结果是 (مبني ب) 而不是 (سين2Ù...Ø ̈ني Ø ̈)这是我保存文件的代码:
$project = Project::find(1);; //Model Project
$destinationPath = 'ProjectPictures/' .$project->name . '/';//the name attribute is in arabic
$file =$request->file('image'); //image to be saved in arabic named directory
$file->move($destinationPath, 'image.jpg');
我正在使用utf8_general_ci用于表排序规则,将utf8用于默认字符集,phpmyadmin,并且将Windows 8用于我的操作系统
使用 iconv 函数
عنتجربة اتحدث ونحلت معي
$fileName=iconv('utf-8','windows-1256', $file->getClientOriginalName());
$file->storeAs("images/"), $fileName);
ادعيلي
尝试:
$project = Project::find(1); //Model Project
$encoding = mb_detect_encoding($project->name);
$destinationPath= iconv($encoding, "UTF-8", "ProjectPictures/".$project->name);
$file =$request->file('image'); //image to be saved in arabic named directory
$file->move($destinationPath, 'image.jpg');