Comment puis-je gérer les noms de fichiers UTF-8 en PHP sous Windows ?

Linda Hamilton
Libérer: 2024-11-03 14:18:31
original
156 Les gens l'ont consulté

How Can I Handle UTF-8 Filenames in PHP on Windows?

PHP - Gestion des noms de fichiers UTF-8 sous Windows

Énoncé du problème

Le téléchargement de fichiers avec des noms de fichiers codés en UTF-8 entraîne des caractères déformés sous Windows.

Solution proposée

La proposition originale pour résoudre ce problème impliquait l'utilisation de la fonction iconv() pour convertir le nom de fichier en une page de codes compatible avec le système Windows, telle que CP1258. Cependant, cette approche a des limites.

Solution mise à jour

En réalité, les fonctions du système de fichiers PHP ne peuvent gérer que les caractères qui se trouvent dans la page de codes active du système. Par conséquent, deux solutions possibles se présentent :

Option 1 :

  • Limiter les caractères du nom de fichier à la page de codes du système (par exemple, CP437 dans votre cas)
  • Cette option limite l'utilisation des caractères vietnamiens.

Option 2 :

  • Modifiez la page de codes du système en vietnamien (par exemple, CP1258 )
  • Convertissez le nom de fichier en la nouvelle page de codes (par exemple, $fn2 = iconv("UTF-8","cp1258", $base_dir.$fn);)
  • Cette option également limite les caractères du nom de fichier à la page de codes vietnamienne 1258.

Inconvénients des deux options :

  • Option 1 : Impossibilité de utiliser certains caractères vietnamiens
  • Option 2 : Obligation de modifier la page de codes du système et limitations sur les caractères du nom de fichier

Informations supplémentaires sur la modification de la page de codes du système

Pour modifier la page de codes du système :

  1. Accédez à Panneau de configuration > Région
  2. Sélectionnez l'onglet « Administratif »
  3. Sous « Langue pour les programmes non Unicode », cliquez sur le bouton « Modifier les paramètres régionaux du système »
  4. Sélectionnez « Vietnamien (Vietnam) » dans le menu déroulant

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!