"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je gérer les noms de fichiers UTF-8 dans les fonctions du système de fichiers de PHP?

Comment puis-je gérer les noms de fichiers UTF-8 dans les fonctions du système de fichiers de PHP?

Publié le 2025-03-25
Parcourir:279

How Can I Handle UTF-8 Filenames in PHP's Filesystem Functions?

Gestion des noms de fichiers UTF-8 dans les fonctions de fichiers de 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 des problèmes d'affichage dans Windows Explorer en raison du cocodage de Php Incompatibilités.

Solution: URL Encode les noms de fichiers

Pour résoudre ce problème, utilisez la fonction urlencode pour convertir le nom de dossier souhaité en un format url-safa = urlencode ("depósito; &&] $ dir_name = urLencode (" Depósito;); Mkdir ($ dir_name);

$dir_name = urlencode("Depósito");
mkdir($dir_name);

Solutions alternatives (avec des mises en garde)

Bien que l'encodage url soit la solution recommandée pour convertir à iso-8859-1 Seulement)

sur Windows, vous pouvez travailler avec les noms de fichiers UTF-8 mais sachez que les caractères non ASCII apparaîtront incorrectement en dehors de PHP. Pour résoudre ce problème, utilisez UTF8_DECODE pour convertir des noms de fichiers en ISO-8859-1 avant de les utiliser dans les fonctions de système de fichiers.

restreignez aux caractères ISO-8859-1

Limiter les noms de fichiers aux caractères représentables dans ISO-8859-1. Utilisez UTF8_DECODE et UTF8_Encode pour convertir des noms de fichiers entre UTF-8 et ISO-8859-1.

Cependant, ces alternatives sont livrées avec des caves:

Les fonctions de fichiers ne peuvent pas gérer les bytes qui correspondent aux caractères de fichiers Windows invalid dans ISO-8859-1. Encodages non ISO-8859-1 dans des lieux non anglais, nécessitant une conversion plus complexe.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3