Je suis en train de faire un script de migration de
fichiers (ainsi que les permissions du domaine qui vont avec) de windows
vers linux. Or sous DOS lorsque que je fais un echo d'une variable "calc
c:\temp\é.doc" il m'affiche bien l'accent mais lorsque que j'exécute
cette variable, il me ressort "Le fichier spécifié est introuvable".
D'après les tests que j'ai effectué il apparait que quand la variable
est exécutée via la commande exec() ou passthru() l'accent contenu dans
la variable disparait ce qui a pour incidence de ne pas trouver le
fichier, les fichiers sans accents ne posant pas problèmes. Je vois le
problème mais je ne sais pas comment le résoudre ... :-(
Merci beaucoup d'avance à la personne qui me dépannera ou me mettra sur
la piste pour me dépanner.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
CrazyCat
GIRARD Cedric wrote:
D'après les tests que j'ai effectué il apparait que quand la variable est exécutée via la commande exec() ou passthru() l'accent contenu dans la variable disparait ce qui a pour incidence de ne pas trouver le fichier, les fichiers sans accents ne posant pas problèmes. Je vois le problème mais je ne sais pas comment le résoudre ... :-(
Essaye en recodant les noms en utilisant les valeurs ASCII.
-- Découvrez Original War: http://www.original-war.org Humour: http://www.chatfou.com Tchattez en liberté: http://www.crazy-irc.net
GIRARD Cedric wrote:
D'après les tests que j'ai effectué il apparait que quand la variable
est exécutée via la commande exec() ou passthru() l'accent contenu dans
la variable disparait ce qui a pour incidence de ne pas trouver le
fichier, les fichiers sans accents ne posant pas problèmes. Je vois le
problème mais je ne sais pas comment le résoudre ... :-(
Essaye en recodant les noms en utilisant les valeurs ASCII.
--
Découvrez Original War: http://www.original-war.org
Humour: http://www.chatfou.com
Tchattez en liberté: http://www.crazy-irc.net
D'après les tests que j'ai effectué il apparait que quand la variable est exécutée via la commande exec() ou passthru() l'accent contenu dans la variable disparait ce qui a pour incidence de ne pas trouver le fichier, les fichiers sans accents ne posant pas problèmes. Je vois le problème mais je ne sais pas comment le résoudre ... :-(
Essaye en recodant les noms en utilisant les valeurs ASCII.
-- Découvrez Original War: http://www.original-war.org Humour: http://www.chatfou.com Tchattez en liberté: http://www.crazy-irc.net
Jean-Marc Molina
GIRARD Cedric a écrit/wrote :
Je suis en train de faire un script de migration de fichiers (ainsi que les permissions du domaine qui vont avec) de windows vers linux. Or sous DOS lorsque que je fais un echo d'une variable "calc c:tempé.doc" il m'affiche bien l'accent mais lorsque que j'exécute cette variable, il me ressort "Le fichier spécifié est introuvable". D'après les tests que j'ai effectué il apparait que quand la variable est exécutée via la commande exec() ou passthru() l'accent contenu dans la variable disparait ce qui a pour incidence de ne pas trouver le fichier, les fichiers sans accents ne posant pas problèmes. Je vois le problème mais je ne sais pas comment le résoudre ... :-(
L'erreur peut venir de l'application "calc" qui ne sait pas gérer les accents, j'ai eu le problème avec gzip alors que 7-Zip le permet. Vérifie aussi que tes chemins sont corrects : et pas , ou / à la place des ... Il faut aussi se méfier des espaces dans les chemins : "C:/Program Files/...".
-- Jean-Marc.
GIRARD Cedric a écrit/wrote :
Je suis en train de faire un script de migration de
fichiers (ainsi que les permissions du domaine qui vont avec) de
windows vers linux. Or sous DOS lorsque que je fais un echo d'une
variable "calc c:tempé.doc" il m'affiche bien l'accent mais lorsque
que j'exécute cette variable, il me ressort "Le fichier spécifié est
introuvable". D'après les tests que j'ai effectué il apparait que
quand la variable est exécutée via la commande exec() ou passthru()
l'accent contenu dans la variable disparait ce qui a pour incidence
de ne pas trouver le fichier, les fichiers sans accents ne posant pas
problèmes. Je vois le problème mais je ne sais pas comment le
résoudre ... :-(
L'erreur peut venir de l'application "calc" qui ne sait pas gérer les
accents, j'ai eu le problème avec gzip alors que 7-Zip le permet. Vérifie
aussi que tes chemins sont corrects : \ et pas , ou / à la place des ...
Il faut aussi se méfier des espaces dans les chemins : "C:/Program
Files/...".
Je suis en train de faire un script de migration de fichiers (ainsi que les permissions du domaine qui vont avec) de windows vers linux. Or sous DOS lorsque que je fais un echo d'une variable "calc c:tempé.doc" il m'affiche bien l'accent mais lorsque que j'exécute cette variable, il me ressort "Le fichier spécifié est introuvable". D'après les tests que j'ai effectué il apparait que quand la variable est exécutée via la commande exec() ou passthru() l'accent contenu dans la variable disparait ce qui a pour incidence de ne pas trouver le fichier, les fichiers sans accents ne posant pas problèmes. Je vois le problème mais je ne sais pas comment le résoudre ... :-(
L'erreur peut venir de l'application "calc" qui ne sait pas gérer les accents, j'ai eu le problème avec gzip alors que 7-Zip le permet. Vérifie aussi que tes chemins sont corrects : et pas , ou / à la place des ... Il faut aussi se méfier des espaces dans les chemins : "C:/Program Files/...".
-- Jean-Marc.
loufoque
Le terminal de Windows utilise CP850 (je ne sais pas si ça varie). Néanmoins l'OS utilise un autre charset, qui est généralement windows-1252 pour les états-unis, l'europe occidentale, etc.
Sous linux, généralement le terminal utilise le charset local, qui dépend de la configuration. Souvent c'est soit ISO-8859-1 soit UTF-8 (sur les systèmes occidentaux).
GIRARD Cedric a dit le 19/09/2005 à 16:06:
Je suis en train de faire un script de migration de fichiers (ainsi que les permissions du domaine qui vont avec) de windows vers linux. Or sous DOS lorsque que je fais un echo d'une variable "calc c:tempé.doc" il m'affiche bien l'accent
Apparemment, donc, cette variable est encodée en CP850. Je savais pas qu'il y avait des gens qui codaient avec ce charset.
mais lorsque que j'exécute cette variable, il me ressort "Le fichier spécifié est introuvable". D'après les tests que j'ai effectué il apparait que quand la variable est exécutée via la commande exec() ou passthru() l'accent contenu dans la variable disparait
Il est probable que ces fonctions attendent du windows-1252.
Le terminal de Windows utilise CP850 (je ne sais pas si ça varie).
Néanmoins l'OS utilise un autre charset, qui est généralement
windows-1252 pour les états-unis, l'europe occidentale, etc.
Sous linux, généralement le terminal utilise le charset local, qui
dépend de la configuration. Souvent c'est soit ISO-8859-1 soit UTF-8
(sur les systèmes occidentaux).
GIRARD Cedric a dit le 19/09/2005 à 16:06:
Je suis en train de faire un script de migration de
fichiers (ainsi que les permissions du domaine qui vont avec) de windows
vers linux. Or sous DOS lorsque que je fais un echo d'une variable "calc
c:tempé.doc" il m'affiche bien l'accent
Apparemment, donc, cette variable est encodée en CP850.
Je savais pas qu'il y avait des gens qui codaient avec ce charset.
mais lorsque que j'exécute
cette variable, il me ressort "Le fichier spécifié est introuvable".
D'après les tests que j'ai effectué il apparait que quand la variable
est exécutée via la commande exec() ou passthru() l'accent contenu dans
la variable disparait
Il est probable que ces fonctions attendent du windows-1252.
Le terminal de Windows utilise CP850 (je ne sais pas si ça varie). Néanmoins l'OS utilise un autre charset, qui est généralement windows-1252 pour les états-unis, l'europe occidentale, etc.
Sous linux, généralement le terminal utilise le charset local, qui dépend de la configuration. Souvent c'est soit ISO-8859-1 soit UTF-8 (sur les systèmes occidentaux).
GIRARD Cedric a dit le 19/09/2005 à 16:06:
Je suis en train de faire un script de migration de fichiers (ainsi que les permissions du domaine qui vont avec) de windows vers linux. Or sous DOS lorsque que je fais un echo d'une variable "calc c:tempé.doc" il m'affiche bien l'accent
Apparemment, donc, cette variable est encodée en CP850. Je savais pas qu'il y avait des gens qui codaient avec ce charset.
mais lorsque que j'exécute cette variable, il me ressort "Le fichier spécifié est introuvable". D'après les tests que j'ai effectué il apparait que quand la variable est exécutée via la commande exec() ou passthru() l'accent contenu dans la variable disparait
Il est probable que ces fonctions attendent du windows-1252.
Olivier Miakinen
Je suis en train de faire un script de migration de fichiers (ainsi que les permissions du domaine qui vont avec) de windows vers linux. Or sous DOS lorsque que je fais un echo d'une variable "calc c:tempé.doc" il m'affiche bien l'accent [...]
Quoique je ne voie pas trop le rapport avec PHP, voici quelques pistes.
Il faut savoir que la table de caractères par défaut de DOS est CP437 ou plus récemment CP850, table qui n'a rien à voir avec celle de Windows (CP1252), cette dernière étant au contraire assez proche de ISO-8859-1.
Justement je suis en train de mettre au point une page HTML permettant de comparer toutes ces tables. La version finale sera à l'adresse <http://www.miakinen.net/vrac/charsets> (url qui ne changera pas) mais une version beaucoup plus facile à utiliser se trouve à une adresse temporaire : <http://www.miakinen.net/vrac/c06/charsets>.
D'après cette page, on voit que le « é » CP850 est encodé par un octet de valeur 82 en hexadécimal (130 en décimal), ce qui correspond à un guillemet bas en CP1252 (je ne peux pas transmettre ce caractère ici à moins de violer l'interdiction d'utiliser autre chose que ISO-8859-1 ou ISO-8859-15, mais tu peux le récupérer par copier-coller sur la page signalée plus haut -- il ressemble à une virgule).
Si tu peux résoudre ton problème en essayant de lire un truc qui ressemble à c:temp,.doc au lieu de c:tempé.doc, tant mieux pour toi. Mais à l'avenir essaye d'éviter les caractères non-ASCII dans les noms de fichiers, ça t'épargnera pas mal de soucis.
Cordialement, -- Olivier Miakinen Non, monsieur le juge, je vous le jure : jamais je n'ai cité Bruxelles dans ma signature.
Je suis en train de faire un script de migration de
fichiers (ainsi que les permissions du domaine qui vont avec) de windows
vers linux. Or sous DOS lorsque que je fais un echo d'une variable "calc
c:tempé.doc" il m'affiche bien l'accent [...]
Quoique je ne voie pas trop le rapport avec PHP, voici quelques pistes.
Il faut savoir que la table de caractères par défaut de DOS est CP437
ou plus récemment CP850, table qui n'a rien à voir avec celle de Windows
(CP1252), cette dernière étant au contraire assez proche de ISO-8859-1.
Justement je suis en train de mettre au point une page HTML permettant
de comparer toutes ces tables. La version finale sera à l'adresse
<http://www.miakinen.net/vrac/charsets> (url qui ne changera pas) mais
une version beaucoup plus facile à utiliser se trouve à une adresse
temporaire : <http://www.miakinen.net/vrac/c06/charsets>.
D'après cette page, on voit que le « é » CP850 est encodé par un octet
de valeur 82 en hexadécimal (130 en décimal), ce qui correspond à un
guillemet bas en CP1252 (je ne peux pas transmettre ce caractère ici à
moins de violer l'interdiction d'utiliser autre chose que ISO-8859-1 ou
ISO-8859-15, mais tu peux le récupérer par copier-coller sur la page
signalée plus haut -- il ressemble à une virgule).
Si tu peux résoudre ton problème en essayant de lire un truc qui
ressemble à c:temp,.doc au lieu de c:tempé.doc, tant mieux pour
toi. Mais à l'avenir essaye d'éviter les caractères non-ASCII dans
les noms de fichiers, ça t'épargnera pas mal de soucis.
Cordialement,
--
Olivier Miakinen
Non, monsieur le juge, je vous le jure : jamais je n'ai cité
Bruxelles dans ma signature.
Je suis en train de faire un script de migration de fichiers (ainsi que les permissions du domaine qui vont avec) de windows vers linux. Or sous DOS lorsque que je fais un echo d'une variable "calc c:tempé.doc" il m'affiche bien l'accent [...]
Quoique je ne voie pas trop le rapport avec PHP, voici quelques pistes.
Il faut savoir que la table de caractères par défaut de DOS est CP437 ou plus récemment CP850, table qui n'a rien à voir avec celle de Windows (CP1252), cette dernière étant au contraire assez proche de ISO-8859-1.
Justement je suis en train de mettre au point une page HTML permettant de comparer toutes ces tables. La version finale sera à l'adresse <http://www.miakinen.net/vrac/charsets> (url qui ne changera pas) mais une version beaucoup plus facile à utiliser se trouve à une adresse temporaire : <http://www.miakinen.net/vrac/c06/charsets>.
D'après cette page, on voit que le « é » CP850 est encodé par un octet de valeur 82 en hexadécimal (130 en décimal), ce qui correspond à un guillemet bas en CP1252 (je ne peux pas transmettre ce caractère ici à moins de violer l'interdiction d'utiliser autre chose que ISO-8859-1 ou ISO-8859-15, mais tu peux le récupérer par copier-coller sur la page signalée plus haut -- il ressemble à une virgule).
Si tu peux résoudre ton problème en essayant de lire un truc qui ressemble à c:temp,.doc au lieu de c:tempé.doc, tant mieux pour toi. Mais à l'avenir essaye d'éviter les caractères non-ASCII dans les noms de fichiers, ça t'épargnera pas mal de soucis.
Cordialement, -- Olivier Miakinen Non, monsieur le juge, je vous le jure : jamais je n'ai cité Bruxelles dans ma signature.
GIRARD Cedric
GIRARD Cedric a écrit/wrote :
Je suis en train de faire un script de migration de fichiers (ainsi que les permissions du domaine qui vont avec) de windows vers linux. Or sous DOS lorsque que je fais un echo d'une variable "calc c:tempé.doc" il m'affiche bien l'accent mais lorsque que j'exécute cette variable, il me ressort "Le fichier spécifié est introuvable". D'après les tests que j'ai effectué il apparait que quand la variable est exécutée via la commande exec() ou passthru() l'accent contenu dans la variable disparait ce qui a pour incidence de ne pas trouver le fichier, les fichiers sans accents ne posant pas problèmes. Je vois le problème mais je ne sais pas comment le résoudre ... :-(
L'erreur peut venir de l'application "calc" qui ne sait pas gérer les accents, j'ai eu le problème avec gzip alors que 7-Zip le permet. Vérifie aussi que tes chemins sont corrects : et pas , ou / à la place des ... Il faut aussi se méfier des espaces dans les chemins : "C:/Program Files/...".
Tout ça a déjà été vérifié.
@ +
GIRARD Cedric a écrit/wrote :
Je suis en train de faire un script de migration de
fichiers (ainsi que les permissions du domaine qui vont avec) de
windows vers linux. Or sous DOS lorsque que je fais un echo d'une
variable "calc c:tempé.doc" il m'affiche bien l'accent mais lorsque
que j'exécute cette variable, il me ressort "Le fichier spécifié est
introuvable". D'après les tests que j'ai effectué il apparait que
quand la variable est exécutée via la commande exec() ou passthru()
l'accent contenu dans la variable disparait ce qui a pour incidence
de ne pas trouver le fichier, les fichiers sans accents ne posant pas
problèmes. Je vois le problème mais je ne sais pas comment le
résoudre ... :-(
L'erreur peut venir de l'application "calc" qui ne sait pas gérer les
accents, j'ai eu le problème avec gzip alors que 7-Zip le permet. Vérifie
aussi que tes chemins sont corrects : \ et pas , ou / à la place des ...
Il faut aussi se méfier des espaces dans les chemins : "C:/Program
Files/...".
Je suis en train de faire un script de migration de fichiers (ainsi que les permissions du domaine qui vont avec) de windows vers linux. Or sous DOS lorsque que je fais un echo d'une variable "calc c:tempé.doc" il m'affiche bien l'accent mais lorsque que j'exécute cette variable, il me ressort "Le fichier spécifié est introuvable". D'après les tests que j'ai effectué il apparait que quand la variable est exécutée via la commande exec() ou passthru() l'accent contenu dans la variable disparait ce qui a pour incidence de ne pas trouver le fichier, les fichiers sans accents ne posant pas problèmes. Je vois le problème mais je ne sais pas comment le résoudre ... :-(
L'erreur peut venir de l'application "calc" qui ne sait pas gérer les accents, j'ai eu le problème avec gzip alors que 7-Zip le permet. Vérifie aussi que tes chemins sont corrects : et pas , ou / à la place des ... Il faut aussi se méfier des espaces dans les chemins : "C:/Program Files/...".
Tout ça a déjà été vérifié.
@ +
GIRARD Cedric
GIRARD Cedric wrote:
D'après les tests que j'ai effectué il apparait que quand la variable est exécutée via la commande exec() ou passthru() l'accent contenu dans la variable disparait ce qui a pour incidence de ne pas trouver le fichier, les fichiers sans accents ne posant pas problèmes. Je vois le problème mais je ne sais pas comment le résoudre ... :-(
Essaye en recodant les noms en utilisant les valeurs ASCII.
idem :-(
GIRARD Cedric wrote:
D'après les tests que j'ai effectué il apparait que quand la variable
est exécutée via la commande exec() ou passthru() l'accent contenu
dans la variable disparait ce qui a pour incidence de ne pas trouver
le fichier, les fichiers sans accents ne posant pas problèmes. Je
vois le problème mais je ne sais pas comment le résoudre ... :-(
Essaye en recodant les noms en utilisant les valeurs ASCII.
D'après les tests que j'ai effectué il apparait que quand la variable est exécutée via la commande exec() ou passthru() l'accent contenu dans la variable disparait ce qui a pour incidence de ne pas trouver le fichier, les fichiers sans accents ne posant pas problèmes. Je vois le problème mais je ne sais pas comment le résoudre ... :-(
Essaye en recodant les noms en utilisant les valeurs ASCII.
idem :-(
GIRARD Cedric
Le terminal de Windows utilise CP850 (je ne sais pas si ça varie). Néanmoins l'OS utilise un autre charset, qui est généralement windows-1252 pour les états-unis, l'europe occidentale, etc.
Sous linux, généralement le terminal utilise le charset local, qui dépend de la configuration. Souvent c'est soit ISO-8859-1 soit UTF-8 (sur les systèmes occidentaux).
GIRARD Cedric a dit le 19/09/2005 à 16:06:
Je suis en train de faire un script de migration de fichiers (ainsi que les permissions du domaine qui vont avec) de windows vers linux. Or sous DOS lorsque que je fais un echo d'une variable "calc c:tempé.doc" il m'affiche bien l'accent
Apparemment, donc, cette variable est encodée en CP850. Je savais pas qu'il y avait des gens qui codaient avec ce charset.
mais lorsque que j'exécute cette variable, il me ressort "Le fichier spécifié est introuvable". D'après les tests que j'ai effectué il apparait que quand la variable est exécutée via la commande exec() ou passthru() l'accent contenu dans la variable disparait
Il est probable que ces fonctions attendent du windows-1252.
En effet il faut faire un str_replace de chr(130) vers chr(233)
Merci msieur !
Le terminal de Windows utilise CP850 (je ne sais pas si ça varie).
Néanmoins l'OS utilise un autre charset, qui est généralement
windows-1252 pour les états-unis, l'europe occidentale, etc.
Sous linux, généralement le terminal utilise le charset local, qui
dépend de la configuration. Souvent c'est soit ISO-8859-1 soit UTF-8
(sur les systèmes occidentaux).
GIRARD Cedric a dit le 19/09/2005 à 16:06:
Je suis en train de faire un script de migration de
fichiers (ainsi que les permissions du domaine qui vont avec) de
windows vers linux. Or sous DOS lorsque que je fais un echo d'une
variable "calc c:tempé.doc" il m'affiche bien l'accent
Apparemment, donc, cette variable est encodée en CP850.
Je savais pas qu'il y avait des gens qui codaient avec ce charset.
mais lorsque que j'exécute cette variable, il me ressort "Le fichier
spécifié est introuvable". D'après les tests que j'ai effectué il
apparait que quand la variable est exécutée via la commande exec() ou
passthru() l'accent contenu dans la variable disparait
Il est probable que ces fonctions attendent du windows-1252.
En effet il faut faire un str_replace de chr(130) vers chr(233)
Le terminal de Windows utilise CP850 (je ne sais pas si ça varie). Néanmoins l'OS utilise un autre charset, qui est généralement windows-1252 pour les états-unis, l'europe occidentale, etc.
Sous linux, généralement le terminal utilise le charset local, qui dépend de la configuration. Souvent c'est soit ISO-8859-1 soit UTF-8 (sur les systèmes occidentaux).
GIRARD Cedric a dit le 19/09/2005 à 16:06:
Je suis en train de faire un script de migration de fichiers (ainsi que les permissions du domaine qui vont avec) de windows vers linux. Or sous DOS lorsque que je fais un echo d'une variable "calc c:tempé.doc" il m'affiche bien l'accent
Apparemment, donc, cette variable est encodée en CP850. Je savais pas qu'il y avait des gens qui codaient avec ce charset.
mais lorsque que j'exécute cette variable, il me ressort "Le fichier spécifié est introuvable". D'après les tests que j'ai effectué il apparait que quand la variable est exécutée via la commande exec() ou passthru() l'accent contenu dans la variable disparait
Il est probable que ces fonctions attendent du windows-1252.
En effet il faut faire un str_replace de chr(130) vers chr(233)