|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre Expert
![]() David GuillotChef de projet en SSII Inscription : mars 2004 Messages : 879 ![]() |
à tous !Je suis face à un vrai problème qui commence à me les briser menu : - Objectif : renommer "héhé.doc" en "01 - héhé.doc" - Contexte : appli PHP hébergée sur Windows ou Linux (selon les environnements dév/prod) et codée en UTF-8 - Code : Code :
- Précision 1 : Pas la peine de me dire qu'un nom de fichier n'est pas censé contenir de caractères spéciaux (hors bien sûr "/\:<>?|"), mes OS supportent très bien ces noms de fichiers, je veux juste obtenir le même résultat en PHP - Précision 2 : Je ne peux pas passer par un utf8_decode() de ma chaîne de caractères, car certains de mes noms de fichiers comportent des caractères qui ne sont pas dans le charset ISO-8859-1. J'ai essayé de tâtonner en direction des fonction mb_string et iconv mais je ne les maîtrise pas suffisamment pour obtenir quelque chose de satisfaisant - Question : Qu'est-ce que je fais mal ? Merci d'avance
__________________
Avant de poser une question ici : ![]() Après résolution de votre question : un clic sur , un et un vote pour les personnes qui vous ont aidé |
||
|
00
|
|
|
#2 |
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
pas trop le choix de faire un utf-8 decode, ou alors surprime les caractères no ASCII ou fait de de la translittération
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() David GuillotChef de projet en SSII Inscription : mars 2004 Messages : 879 ![]() |
Tout d'abord merci pour ta réponse
Je ne connaissais pas la translittération, ça marche plutôt bien ! Mais je n'ai pas envie de m'arrêter à ça : mes clients veulent retrouver leurs fichiers exactement comme ils les ont uploadés dans mon application. Y aurait-il un moyen de détecter le charset utilisé par le filesystem qui héberge mes fichiers, pour pouvoir faire l'iconv() qui va bien et n'utiliser la translittération qu'en dernier recours ? J'effectue mes tests sur un serveur Windows qui supporte parfaitement d'avoir des fichiers ayant des caractères polonais dans leur nom ; j'aimerais pouvoir les manipuler sans les altérer.
__________________
Avant de poser une question ici : ![]() Après résolution de votre question : un clic sur , un et un vote pour les personnes qui vous ont aidé |
|
00
|
|
|
#4 |
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
le problème vient uniquement de PHP qui ne gère pas l'utf-8 donc c'est pas possible.
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() David GuillotChef de projet en SSII Inscription : mars 2004 Messages : 879 ![]() |
D'accord je vois, c'est un exemple concret du non-support natif d'Unicode par PHP. Je vais me contenter de translittération !
Merci en tout cas
__________________
Avant de poser une question ici : ![]() Après résolution de votre question : un clic sur , un et un vote pour les personnes qui vous ont aidé |
|
00
|
Copyright © 2000-2012 - www.developpez.com