Téléchargement de noms de fichiers UTF-8 en PHP
Lors du téléchargement de fichiers, gestion des noms de fichiers contenant des caractères spéciaux, tels que ceux en UTF-8 l'encodage, peut présenter des défis. Voici comment résoudre ce problème :
L'extrait de code fourni tente de télécharger un nom de fichier codé en UTF-8, mais il rencontre un problème où le nom de fichier résultant sur le serveur présente des caractères tronqués. Pour remédier à ce problème, envisagez les solutions suivantes :
Option 1 : Convertir le nom de fichier en page de code système
Sur certains systèmes d'exploitation, les fonctions du système de fichiers ne peuvent prendre en charge que les caractères contenus dans la page de code du système. . Dans ce cas, convertissez le nom de fichier en page de codes appropriée à l'aide de la fonction iconv. Par exemple, pour Windows 8 en chinois simplifié, utilisez :
<code class="php">$filename = iconv("UTF-8", "cp936", $filename);</code>
Option 2 : Modifier la page de codes du système et la page de codes du nom de fichier
Une approche alternative consiste à modifier la page de codes du système. page de code en vietnamien (1258) à l'aide des paramètres du panneau de configuration. Convertissez également le nom de fichier en page de codes 1258, en utilisant le code suivant :
<code class="php">$fn2 = iconv("UTF-8","cp1258", $base_dir.$fn);</code>
Considérations relatives au choix :
Choix 1 : Limitation de la page de codes du système
Cette option limite les caractères du nom de fichier à la page de codes système prise en charge, qui peut ne pas inclure tous les caractères vietnamiens.
Choix 2 : Modification de la page de codes système
Pendant que cette approche permet l'utilisation de caractères vietnamiens, elle modifie la page de codes du système, affectant potentiellement d'autres applications et ne fournissant pas toujours une solution complète.
En fin de compte, le choix idéal dépend de la configuration de votre système et des exigences spécifiques.
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!