Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich UTF-8-Dateinamen in PHP unter Windows verarbeiten?

Wie kann ich UTF-8-Dateinamen in PHP unter Windows verarbeiten?

Linda Hamilton
Linda HamiltonOriginal
2024-11-03 14:18:31158Durchsuche

How Can I Handle UTF-8 Filenames in PHP on Windows?

PHP – Umgang mit UTF-8-Dateinamen unter Windows

Problembeschreibung

Das Hochladen von Dateien mit UTF-8-codierten Dateinamen führt unter Windows zu verzerrten Zeichen.

Vorgeschlagene Lösung

Der ursprüngliche Vorschlag zur Lösung dieses Problems beinhaltete die Verwendung der iconv()-Funktion, um den Dateinamen in eine Codepage zu konvertieren, die mit dem Windows-System kompatibel ist, wie z. B. CP1258. Allerdings weist dieser Ansatz Einschränkungen auf.

Aktualisierte Lösung

In Wirklichkeit können PHP-Dateisystemfunktionen nur Zeichen verarbeiten, die sich innerhalb der aktiven Codepage des Systems befinden. Daher ergeben sich zwei mögliche Lösungen:

Option 1:

  • Dateinamenzeichen auf die Codepage des Systems beschränken (z. B. CP437 in Ihrem Fall)
  • Diese Option schränkt die Verwendung vietnamesischer Zeichen ein.

Option 2:

  • Ändern Sie die Codepage des Systems auf Vietnamesisch (z. B. CP1258). )
  • Konvertieren Sie den Dateinamen in die neue Codepage (z. B. $fn2 = iconv("UTF-8","cp1258", $base_dir.$fn);)
  • Diese Option auch beschränkt Dateinamenzeichen auf die vietnamesische Codepage 1258.

Nachteile beider Optionen:

  • Option 1: Unfähigkeit Bestimmte vietnamesische Zeichen verwenden
  • Option 2: Anforderung zum Ändern der Systemcodepage und Einschränkungen für Dateinamenzeichen

Zusätzliche Informationen zum Ändern der Systemcodepage

So ändern Sie die Codepage des Systems:

  1. Navigieren Sie zu Systemsteuerung > Region
  2. Wählen Sie die Registerkarte „Verwaltung“ aus
  3. Klicken Sie unter „Sprache für Nicht-Unicode-Programme“ auf die Schaltfläche „Systemgebietsschema ändern“
  4. Wählen Sie „Vietnamesisch (Vietnam)“ aus dem Dropdown-Menü

Das obige ist der detaillierte Inhalt vonWie kann ich UTF-8-Dateinamen in PHP unter Windows verarbeiten?. 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