PHP – Umgang mit UTF-8-Dateinamen
Die hier vorgestellte Herausforderung besteht darin, eine Datei mit einem UTF-8-Dateinamen hochzuladen, wie zum Beispiel „Tên Tệp Tiếng Việt.JPG“, aber es tritt ein Anzeigeproblem auf, bei dem der Dateiname mit Sonderzeichen auf dem lokalen Computer verstümmelt ist.
Dem bereitgestellten Code fehlt die notwendige Konvertierung, um UTF-8-Dateinamen in der Windows-Umgebung zu unterstützen. Um dies zu beheben, können die folgenden Strategien in Betracht gezogen werden:
Option 1: Dateinamen in Systemcodepage konvertieren (cp1258)
- Kodierung des Dateinamens mithilfe des Systems Die Codepage kann es den Dateisystemfunktionen ermöglichen, sie korrekt zu verarbeiten.
- In Windows ist die Standardcodepage normalerweise 1258.
-
Der folgende Code kann verwendet werden:
<code class="php">$base_dir = "D:/";
$fn = $_FILES["upload"]["name"];
$fn2 = iconv("UTF-8","cp1258", $base_dir.$fn);</code>
Option 2: Ändern der Systemcodepage auf Vietnamesisch
- Das Ändern der Systemcodepage auf die vietnamesische Codepage (1258) kann dies ermöglichen Dateisystemfunktionen zum Verstehen und Anzeigen vietnamesischer Zeichen.
- Gehen Sie zu Systemsteuerung > Region > Verwaltung > Ändern Sie das Gebietsschema des Systems und wählen Sie im Dropdown-Menü Vietnamesisch (Vietnam) aus.
Einschränkungen und Überlegungen:
- Option 1 beschränkt die Zeichen des Dateinamens auf die Systemcodepage, die möglicherweise nicht alle vietnamesischen Zeichen unterstützt.
- Option 2 erfordert eine Änderung der Systemcodepage, die sich auf andere Systemprozesse und Anwendungen auswirken kann.
- Es ist wichtig, die spezifischen Anforderungen zu berücksichtigen und Abhängigkeiten Ihres Systems, bevor Sie sich für einen Ansatz entscheiden.
Das obige ist der detaillierte Inhalt vonWie gehe ich mit UTF-8-Dateinamen in PHP unter Windows um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn