Page 1 sur 2
Ouvrir fichier avec accent
Posté : 25 sept. 2014, 10:22
par Nato24C
Bonjour,
Ceci est mon premier message car je bute sur une erreur. En effet j'ai le besoin d'ouvrir des fichiers au format xls et xlsm sauf que ces fichiers ont dans le nom un "é" (e accent aigu).
J'ai donc effectué plusieurs essais (notamment avec des fichier txt pour être sur que le problème ne soit pas lié à Excel) et il se trouve que j'arrive à ouvrir un fichier "test.txt" mais impossible avec "testé.txt".
Voila j'aimerais savoir si quelqu'un a une solution. Je précise que je ne peux pas renommer le fichier. Merci

Re: Ouvrir fichier avec accent
Posté : 25 sept. 2014, 10:31
par arnaud69
tu es en linux windows ?
Si tu peux pas le renommer, tu peux peut être le copier ?
Re: Ouvrir fichier avec accent
Posté : 25 sept. 2014, 10:35
par Nato24C
J'ai oublié de préciser en effet: Windows malheureusement.
Il faudrait que je le copie en php alors ? Mais l'accent ne me causera pas le même problème en voulant le copier ?
Re: Ouvrir fichier avec accent
Posté : 25 sept. 2014, 10:37
par arnaud69
Mais c'est sur un serveur distant (ou local) ou en usage normal comme utilisateur d'un ordi ?
Je comprends pas trop...
Re: Ouvrir fichier avec accent
Posté : 25 sept. 2014, 10:39
par Nato24C
Normalement le fichier est sur un serveur distant mais afin de faciliter la compréhension de l'erreur je suis en local sur ma machine.
J'ai donc Apache2 , PHP, ... d'installer sur ma machine. Donc tout est en local.
Re: Ouvrir fichier avec accent
Posté : 25 sept. 2014, 10:51
par arnaud69
Ok, alors mets ton code et on va aller jouer avec ça :
Code : Tout sélectionner
$str = strtr($str, 'ÁÀÂÄÃÅÇÉÈÊËÍÏÎÌÑÓÒÔÖÕÚÙÛÜÝ', 'AAAAAACEEEEEIIIINOOOOOUUUUY');
$str = strtr($str, 'áàâäãåçéèêëíìîïñóòôöõúùûüýÿ', 'aaaaaaceeeeiiiinooooouuuuyy');
Re: Ouvrir fichier avec accent
Posté : 25 sept. 2014, 10:57
par Nato24C
Code : Tout sélectionner
$fileName = 'xls/testé.txt';
if (is_readable($fileName)) {
echo 'Le fichier est accessible en lecture = '. $fileName;
} else {
echo 'Le fichier n\'est pas accessible en lecture ! = '. $fileName;
}
Avec ce code j’obtiens que le fichier n'est pas accessible en lecture.
J'ai aussi essayé de cette manière:
mais toujours inaccessible.
Re: Ouvrir fichier avec accent
Posté : 25 sept. 2014, 11:02
par sirakawa
Une bidouille possible, si le fichier existe vraiment et si tu as un accès via un explorateur est de le renommer:
Tu pourrais te servir de Filezilla qui est un client ftp gratuit et libre.
Au pire le télécharger en local, le renommer et le renvoyer sur le serveur distant.
Re: Ouvrir fichier avec accent
Posté : 25 sept. 2014, 11:06
par Nato24C
Une bidouille possible, si le fichier existe vraiment et si tu as un accès via un explorateur est de le renommer:
Tu pourrais te servir de Filezilla qui est un client ftp gratuit et libre.
Au pire le télécharger en local, le renommer et le renvoyer sur le serveur distant.
Merci sirakawa, c'est une solution qui aurait pu être viable seulement quand je dis que ne peut pas le renommer c'est que je n'ai pas le droit de le renommer.
Attention, j'ai les droits de Lecture/Écriture/Modification sur le fichier, mais je n'ai pas le droit car c'est un fichier qui n'est pas utilisé que par moi.
Je suis donc obligé de faire avec l'accent malheureusement.

Re: Ouvrir fichier avec accent
Posté : 25 sept. 2014, 11:07
par arnaud69
if($fileName = strtr('xls/testé.txt', 'áàâäãåçéèêëíìîïñóòôöõúùûüýÿ', 'aaaaaaceeeeiiiinooooouuuuyy')){
echo 'strtr OK';
}else{
echo 'strtr NOK, on va le copier sous un autre nom :';
if(!copy($fileName,'xls/toto.txt')){
echo 'beurk, ca pouire, copie pas possible !!!';
}else{
echo 'copie ok';
$fileName='xls/toto.txt';
}
}
if (is_readable($fileName)) {
echo 'Le fichier est accessible en lecture = '. $fileName;
} else {
echo 'Le fichier n\'est pas accessible en lecture ! = '. $fileName;
}
Re: Ouvrir fichier avec accent
Posté : 25 sept. 2014, 11:15
par Nato24C
Résultat de ton code arnaud69 :
strtr OKLe fichier n'est pas accessible en lecture ! = xls/testyn.txt
Je ne sais absolument pas d'où vient le yn dans "testyn.txt'
Re: Ouvrir fichier avec accent
Posté : 25 sept. 2014, 11:18
par arnaud69
Tu as un souci d'encodage de tes pages
Fais ça alors :
$fileName = 'xls/testé.txt';
if(!copy($fileName,'xls/toto.txt')){
echo 'beurk, ca pouire, copie pas possible !!!';
}else{
echo 'copie ok';
$fileName='xls/toto.txt';
}
if (is_readable($fileName)) {
echo 'Le fichier est accessible en lecture = '. $fileName;
} else {
echo 'Le fichier n\'est pas accessible en lecture ! = '. $fileName;
}
Re: Ouvrir fichier avec accent
Posté : 25 sept. 2014, 11:22
par Nato24C
Résultat:
Warning: copy(xls/testé.txt): failed to open stream: No such file or directory in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\SandboxPhp\tauxerreur.php on line 55
beurk, ca pouire, copie pas possible !!!
Le fichier n'est pas accessible en lecture ! = xls/testé.txt
Précision:
Ligne 55
if(!copy($fileName,'xls/toto.txt')){
Re: Ouvrir fichier avec accent
Posté : 25 sept. 2014, 11:32
par arnaud69
Ben visiblement c'est chiant de travailler sous windows !!! Tu peux même pas faire une copie de fichier...
Ca marche sur mon linux.

Re: Ouvrir fichier avec accent
Posté : 25 sept. 2014, 11:53
par Nato24C
Oui c'est chiant en effet. Je me suis intéressé aux charset UTF-8 et iso-8859-1 mais rien n'y fait, ça ne veut pas.
Du coup si quelqu'un d'autre à une idée, je suis preneur ! Merci.