Ich habe folgendes Problem, das scheint keine Lösung zu haben und ich bin absolut angewidert.utf8_encode codiert keine Sonderzeichen ě/š/č/ř/ž/ý/á, usw.
Ich habe Android-Anwendung, wo Benutzer Datei auf meinen Server hochladen können und dann können sie auf sie zugreifen. Also, wenn Benutzer sein Konto öffnet, verwendet diese Anwendung die Funktion scandir()
und auf meinem Server verwende ich die Methode json_encode()
, um Daten an meine App zu senden, um ihm seine Dateien und Ordner anzuzeigen. Und hier ist das Problem:
Wenn einige Benutzer zum Beispiel Uploads mit Sonderzeichen-Datei (Válcování stupHovitých vzorko za tepla.pptx) und diese Datei ist nicht utf-8 codiert ist, dann kann ich es nicht passieren über Json_encode, weil ich UTF-8 Fehler bekomme. Also habe ich versucht, Methode uf8_encode()
für jeden Dateinamen zu verwenden und es hat funktioniert, ABER wenn es eine Datei oder einen Ordner mit Sonderzeichen wie //////////// usw. gibt und benutze Methode utf8_encode()
drauf dann bekomme ich etwas Durcheinander in meiner Anwendung und anstatt Ordner mit Namen zu bekommen č, bekomme ich den Namen Ä.
Ich versuchte fast alles von htmlspecialchars()
bis iconv()
, aber ich kann keine Methode finden, die mir Dateien und Ordner auf meinem Server mit Eigennamen zurückgibt.
Die utf-8-Codierung von 'è' ist 'c4 8d'. Wenn Sie "Ä" erhalten, ist es wahrscheinlich, dass * utf-8 kodiert ist, aber Sie behandeln es nicht so. Der Unicode für 'Ä' ist 'c4'. – fishinear