php - Oprettelse af mapper med navne, der indeholder ikke-ASCII-tegn

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg laver mapper fra PHP med ikke-ASCII-tegn i deres navne. for eksempel ¡Mucho Gusto !, Adiós, Buenos días.


Jeg bruger m mkdir() funktionen. Når mit script udfører den mappe, der er oprettet på mit drev, er et rod. ¡Mucho gusto! bliver ¡Mucho gusto! med lignende problemer for andre navne. HTML-dokumentet indeholdende PHP script har sin charset sæt til utf-8, men Windows korrumperer mappenavnet. Da jeg testede det på min server, var mappenavnet korrekt, men lokalt er der noget, der er forkert i Windows-indstillingen. Jeg bruger Windows XP SP3.

Bedste reference


Jeg vil anbefale dig at kode kode navne med Punycode . Da alle almindelige operativsystemer har begrænsninger for mappenavne. [4]


Der er en online demo til Punycode her. Og også en PHP-klasse er tilgængelig til den automatiske oversættelse. [5] [6]

Andre referencer 1


Forstået!! Jeg skal utf8\_decode () min sti, før du laver mkdir () call cause, Windows XP forventer og leverer mappens navn i ISO-8859-1.