名前に文字「⌐
」が含まれています。文字が間違ってエンコードされています
これらのファイルは十分にLinuxの(Apacheの/ PHP)の下で処理されます:彼らはWindowsの下では
$files = scandir($path);
echo json_encode($files);
file1⌐
file2⌐
file3⌐
file4⌐
に見えますファイルシステムによってWindows-1252として読み込まれるように、私はconditi json_encode
はここ
$files = scandir($path);
foreach ($files as $i => $file) {
$files[$i] = mb_convert_encoding($file, 'UTF-8', 'Windows-1252');
}
echo json_encode($files);
を働くことができるようにonally ⌐
があるなぜ彼らは
file1¬
file2¬
file3¬
file4¬
を変換しますそれらをどのようにされた変換¬
に変換され、どのようにしてoriを取得できますか紳士キャラクター?
私が知っていることはほとんど分かりませんが、Linuxはバックスラッシュを使用しており、Windowsはデフォルトで前方のものを使用します(バックスラッシュもサポートしています)。それを使ってみてください。 –
奇妙なことは、Windows-1252には "逆符号"の文字エンコーディングさえありませんが、 "符号なし"の文字エンコーディングはあります。おそらくあなたは思ったようにWindows-1252で文字列を返さないでしょうか?あなたは確かにmb_detect_encoding()をやってみましたか? –
私は_Windows-1252_を有効にする 'mb_check_encoding'を使用しています。私も 'mb_detect_encoding'を試しました(私には_UTF-8_ではないことを伝えています)。 _Windows-1252_の「逆の符号なし」の欠点 –