PHP - Gestion des noms de fichiers UTF-8
Le défi présenté ici consiste à télécharger un fichier avec un nom de fichier UTF-8, tel que "Tên Tệp Tiếng Việt.JPG", mais rencontre un problème d'affichage où le nom de fichier est tronqué avec des caractères spéciaux sur l'ordinateur local.
Le code fourni ne dispose pas de la conversion nécessaire pour prendre en charge les noms de fichiers UTF-8 dans l'environnement Windows. Pour résoudre ce problème, les stratégies suivantes peuvent être envisagées :
Option 1 : Conversion du nom de fichier en page de codes système (cp1258)
- Encodage du nom de fichier à l'aide du système La page de codes peut permettre aux fonctions du système de fichiers de le traiter correctement.
- Sous Windows, la page de codes par défaut est généralement 1258.
-
Le code suivant peut être utilisé :
<code class="php">$base_dir = "D:/";
$fn = $_FILES["upload"]["name"];
$fn2 = iconv("UTF-8","cp1258", $base_dir.$fn);</code>
Option 2 : Modification de la page de codes du système en vietnamien
- La modification de la page de codes du système en page de codes vietnamienne (1258) peut permettre au fonctions du système de fichiers pour comprendre et afficher les caractères vietnamiens.
- Accédez au Panneau de configuration > Région > Administratif > Modifiez les paramètres régionaux du système et sélectionnez Vietnamien (Vietnam) dans le menu déroulant.
Limitations et considérations :
- L'option 1 limite les caractères du nom de fichier à la page de codes système, qui peut ne pas prendre en charge tous les caractères vietnamiens.
- L'option 2 nécessite une modification de la page de codes système, ce qui peut affecter d'autres processus et applications du système.
- Il est important de prendre en compte les exigences spécifiques et les dépendances de votre système avant de choisir une approche.
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!
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn