Mam pliki zawierające znak ⌐
w ich nazwie.Znak błędnie zakodowany
Pliki te są dobrze obsługiwane w systemie Linux (Apache/PHP):
$files = scandir($path);
echo json_encode($files);
file1⌐
file2⌐
file3⌐
file4⌐
W systemie Windows wydają być odczytywanym jako Windows-1252 przez system plików, więc musiałem conditi onally konwertować je tak, że json_encode
mógł pracować
$files = scandir($path);
foreach ($files as $i => $file) {
$files[$i] = mb_convert_encoding($file, 'UTF-8', 'Windows-1252');
}
echo json_encode($files);
Oto jak one przekonwertowane
file1¬
file2¬
file3¬
file4¬
Dlaczego ⌐
jest nawrócenie się na ¬
i jak mogę uzyskać ori charakter dinozaurów?
Nie mam pojęcia, czego chcesz, ale wiem, że Linux używa ukośnika odwrotnego, a system Windows domyślnie korzysta z okna do przodu (ale obsługuje również ukośniki odwrotne). Spróbuj tego użyć. –
Dziwne jest to, że Windows-1252 nie ma nawet kodowania znaków dla "reverse not sign", ale ma jeden dla "niezalogowania się". Może nie odzyskujesz ciągów w Windows-1252, tak jak myślałeś? Czy próbowałeś zrobić mb_detect_encoding() tylko, aby być pewnym? –
Używam 'mb_check_encoding', który sprawdza mnie _Windows-1252_. Próbowałem też 'mb_detect_encoding' (mówiąc mi, że to nie _UTF-8_). Dobry punkt dla "odwrotnego znaku niezapisanego" nieobecnego na _Windows-1252_ –