【发布时间】:2019-07-06 22:44:12
【问题描述】:
我正在尝试重命名文件,
unizp生成的那个文件是一个zip文件, 但文件有一个奇怪的字符
Lieferungen und R�cklieferungen_RvP_2019_02_04.csv
我们无法控制该角色,因为我们从第 3 方获取了 zip 文件。
那个符号是 ü,但是当使用 php 代码解压缩时,它会显示那个奇怪的符号。
我尝试使用此代码
$files = glob("/xxxxmyfullpath/unzipped/*.csv");
echo $numfiles = count($files);
if ($numfiles == 1) {
// Rename it
echo $files[0];
rename($files[0], "testing.csv");
}
但 glob 似乎无法识别文件。
有人知道如何从文件名中删除那个无法识别的符号
【问题讨论】:
-
听起来您的字符集与文件的字符集不同。我建议您尝试将您的 PHP 标头设置为 utf8,
header('Content-Type: text/html; charset=utf-8');在您的文件顶部。 -
我会尝试,但我们使用 shell 命令解压缩 echo shell_exec('7z x "'.$zipfile.'" -o"'.$extractfilepath.'" -passwordhere');跨度>
-
如果您无法控制名称的原始来源,您可能还需要
utf8_encode()。