0
我有一些文件,並顯示目錄(上Windows
,但最終我將運行在Mac和Linux相同的腳本),在名稱中使用非拉丁字符,例如:PHP - 讀非拉丁字符目錄/文件名
方位名稱01 - Проверка - X
。
我想讀取該名稱並打印它,但沒有成功 - 我總是得到01 - ???????? - X
。
我曾嘗試:
$items = scandir('c:/myDir/');
$name = $items[2];
echo mb_detect_encoding($name); // Returns "ASCII"
echo '<br>';
echo $n = mb_convert_encoding($name, 'UTF-8', 'Windows-1252');
echo '<br>';
echo base64_encode($n);
echo '<br><br>';
echo $n = mb_convert_encoding($name, 'UTF-8', 'ISO-8859-1');
echo '<br>';
echo base64_encode($n);
echo '<br><br>';
echo $n = mb_convert_encoding($name, 'UTF-8', 'ISO-8859-15');
echo '<br>';
echo base64_encode($n);
echo '<br><br>';
echo $n = mb_convert_encoding($name, 'Windows-1252', 'UTF-8');
echo '<br>';
echo base64_encode($n);
echo '<br><br>';
echo $n = mb_convert_encoding($name, 'ISO-8859-1', 'UTF-8');
echo '<br>';
echo base64_encode($n);
echo '<br><br>';
echo $n = mb_convert_encoding($name, 'ISO-8859-15', 'UTF-8');
echo '<br>';
echo base64_encode($n);
echo '<br><br>';
echo $n = iconv('WINDOWS-1252', 'UTF-8', $name);
echo '<br>';
echo base64_encode($n);
echo '<br><br>';
echo $n = iconv('ISO-8859-1', 'UTF-8', $name);
echo '<br>';
echo base64_encode($n);
echo '<br><br>';
echo $n = iconv('ISO-8859-15', 'UTF-8', $name);
echo '<br>';
echo base64_encode($n);
echo '<br><br>';
echo $n = iconv('UTF-8', 'WINDOWS-1252', $name);
echo '<br>';
echo base64_encode($n);
echo '<br><br>';
echo $n = iconv('UTF-8', 'ISO-8859-1', $name);
echo '<br>';
echo base64_encode($n);
echo '<br><br>';
echo $n = iconv('UTF-8', 'ISO-8859-15', $name);
echo '<br>';
echo base64_encode($n);
echo '<br><br>';
在結果我總是有相同的線(我base64編碼它叟,你可以看到它是同一條線路)
ASCII
01 - ???????? - X
MDEgLSA/Pz8/Pz8/PyAtIFg=
01 - ???????? - X
MDEgLSA/Pz8/Pz8/PyAtIFg=
01 - ???????? - X
MDEgLSA/Pz8/Pz8/PyAtIFg=
01 - ???????? - X
MDEgLSA/Pz8/Pz8/PyAtIFg=
01 - ???????? - X
MDEgLSA/Pz8/Pz8/PyAtIFg=
01 - ???????? - X
MDEgLSA/Pz8/Pz8/PyAtIFg=
01 - ???????? - X
MDEgLSA/Pz8/Pz8/PyAtIFg=
01 - ???????? - X
MDEgLSA/Pz8/Pz8/PyAtIFg=
01 - ???????? - X
MDEgLSA/Pz8/Pz8/PyAtIFg=
01 - ???????? - X
MDEgLSA/Pz8/Pz8/PyAtIFg=
01 - ???????? - X
MDEgLSA/Pz8/Pz8/PyAtIFg=
01 - ???????? - X
MDEgLSA/Pz8/Pz8/PyAtIFg=
能有什麼我做了嗎?
P.S.我最終想要實現的目標是什麼,我需要比較兩個目錄,並且當我將一個目錄的內容與其他目錄進行比較時,我無法將其與另一個目錄進行比較,因爲目錄/文件名已損壞 - 我的腳本獲取的名稱爲01 - ???????? - X
,顯然無法找到此類subdir第二(比較)目錄。
謝謝你的答案,但不幸的是,它並沒有幫助 - 與上面相同的結果:( – SmxCde
我剛剛提供了一個更新..它可能不是你正在尋找的答案 – bitten
這正是我目前需要的,所以謝謝你! – SmxCde