Gestion des noms de fichiers UTF-8 dans les fonctions du système de fichiers PHP
Lors de la création de dossiers contenant des caractères UTF-8 à l'aide de la fonction mkdir de PHP, vous pouvez rencontrer l'affichage problèmes dans l'Explorateur Windows en raison d'incompatibilités d'encodage.
Solution : URL Encoder les noms de fichiers
Pour résoudre ce problème, utilisez la fonction urlencode pour convertir le nom du dossier souhaité dans un format sécurisé pour les URL avant de le transmettre à mkdir :
$dir_name = urlencode("Depósito"); mkdir($dir_name);
Cela garantit que tous les caractères du nom du dossier sont codés dans des noms de fichiers valides pour tous les systèmes d'exploitation. Pour récupérer le nom de fichier UTF-8 d'origine, utilisez urldecode.
Solutions alternatives (avec mises en garde)
Bien que l'encodage d'URL soit la solution recommandée, il existe des alternatives moins attrayantes :
Convertir en ISO-8859-1 (Windows Uniquement)
Sous Windows, vous pouvez travailler avec des noms de fichiers UTF-8, mais sachez que les caractères non-ASCII n'apparaîtront pas correctement en dehors de PHP. Pour résoudre ce problème, utilisez utf8_decode pour convertir les noms de fichiers en ISO-8859-1 avant de les utiliser dans les fonctions du système de fichiers.
Limiter aux caractères ISO-8859-1
Alternativement, limiter les noms de fichiers aux caractères représentables dans la norme ISO-8859-1. Utilisez utf8_decode et utf8_encode pour convertir les noms de fichiers entre UTF-8 et ISO-8859-1.
Cependant, ces alternatives comportent des mises en garde :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!