[Shell] Impossible de changer l'encodage
Résolu/Fermé
yacleouf
Messages postés
438
Date d'inscription
mercredi 11 mars 2009
Statut
Membre
Dernière intervention
8 juin 2015
-
Modifié par yacleouf le 11/07/2013 à 16:13
ryko1820 Messages postés 1645 Date d'inscription dimanche 28 avril 2013 Statut Membre Dernière intervention 15 août 2021 - 12 juil. 2013 à 11:37
ryko1820 Messages postés 1645 Date d'inscription dimanche 28 avril 2013 Statut Membre Dernière intervention 15 août 2021 - 12 juil. 2013 à 11:37
A voir également:
- [Shell] Impossible de changer l'encodage
- Changer dns - Guide
- Piratage facebook changer mot de passe - Guide
- Changer clavier qwerty en azerty - Guide
- Classic shell windows 10 français - Télécharger - Personnalisation
- Changer de compte facebook - Guide
3 réponses
guillaume0811
Messages postés
93
Date d'inscription
mercredi 12 août 2009
Statut
Membre
Dernière intervention
12 juillet 2013
3
11 juil. 2013 à 16:17
11 juil. 2013 à 16:17
Bonjour,
Il faut que tu installes encode.
Bien à toi.
Il faut que tu installes encode.
Bien à toi.
ryko1820
Messages postés
1645
Date d'inscription
dimanche 28 avril 2013
Statut
Membre
Dernière intervention
15 août 2021
276
11 juil. 2013 à 17:54
11 juil. 2013 à 17:54
Hello
Je ne sais pas si ça peut aider :
https://pkgs.org/download/recode
Mais normalement yum install recode aurait du suffire
Je ne sais pas si ça peut aider :
https://pkgs.org/download/recode
Mais normalement yum install recode aurait du suffire
ryko1820
Messages postés
1645
Date d'inscription
dimanche 28 avril 2013
Statut
Membre
Dernière intervention
15 août 2021
276
Modifié par ryko1820 le 11/07/2013 à 22:56
Modifié par ryko1820 le 11/07/2013 à 22:56
Hello,
peut être que les types d'encodages (iconv -l) sont "case sensitive" :
iconv -f US-ASCII -t UTF-8 monFichier.xml > fichierConvertis.xml
... mais en essayant chez moi je constate qu'un fichier ASCII converti en UTF-8 et qui ne comprends aucun caractères ASCII "transformables" en UTF-8 reste en ASCII ...
EDIT : C'est pas case sensitive pour les encode ....
Si tu le transformes en UTF16 (à la place de l'UTF8) là tu devrais voir la différence ... preuve que la commande iconv fonctionne ...
Est ce qu'il ne serait pas plus intéressant d'utiliser la variable LANG de ton système lors de la génération du fichier ou l'encode du xml "<?xml version="1.0" encoding="UTF-8"?>" pour parvenir à tes fins ?
Mais je ne sais pas comment est créé ce fichier, ni ce à quoi tu le destines ...
peut être que les types d'encodages (iconv -l) sont "case sensitive" :
iconv -f US-ASCII -t UTF-8 monFichier.xml > fichierConvertis.xml
... mais en essayant chez moi je constate qu'un fichier ASCII converti en UTF-8 et qui ne comprends aucun caractères ASCII "transformables" en UTF-8 reste en ASCII ...
EDIT : C'est pas case sensitive pour les encode ....
Si tu le transformes en UTF16 (à la place de l'UTF8) là tu devrais voir la différence ... preuve que la commande iconv fonctionne ...
Est ce qu'il ne serait pas plus intéressant d'utiliser la variable LANG de ton système lors de la génération du fichier ou l'encode du xml "<?xml version="1.0" encoding="UTF-8"?>" pour parvenir à tes fins ?
Mais je ne sais pas comment est créé ce fichier, ni ce à quoi tu le destines ...
ryko1820
Messages postés
1645
Date d'inscription
dimanche 28 avril 2013
Statut
Membre
Dernière intervention
15 août 2021
276
11 juil. 2013 à 22:58
11 juil. 2013 à 22:58
Je pense que ton problème est plus de la programmation que du système ...
yacleouf
Messages postés
438
Date d'inscription
mercredi 11 mars 2009
Statut
Membre
Dernière intervention
8 juin 2015
39
12 juil. 2013 à 09:48
12 juil. 2013 à 09:48
Bonjour ryko1820,
en effet la commande iconv n'est pas case sensitive ...
Pour t'expliquer un peu mon programme, je reçois plusieurs fichiers xml que je mixe en un seul fichier xml, c'est tout :)
ce que je trouve bizarre c'est que quand je reçois ces xml sur mon serveur ils sont déjà soit en ascii soit en utf-8, et quand je vérifie les balises du xml j'ai bien (<?xml version="1.0" encoding="UTF-8" ?>) donc je pense qu'il y a un soucis à la fois sur l'encodage de base du xml, et sur mon serveur qui ne me permet pas de télécharger recode ...
en effet la commande iconv n'est pas case sensitive ...
Pour t'expliquer un peu mon programme, je reçois plusieurs fichiers xml que je mixe en un seul fichier xml, c'est tout :)
ce que je trouve bizarre c'est que quand je reçois ces xml sur mon serveur ils sont déjà soit en ascii soit en utf-8, et quand je vérifie les balises du xml j'ai bien (<?xml version="1.0" encoding="UTF-8" ?>) donc je pense qu'il y a un soucis à la fois sur l'encodage de base du xml, et sur mon serveur qui ne me permet pas de télécharger recode ...
ryko1820
Messages postés
1645
Date d'inscription
dimanche 28 avril 2013
Statut
Membre
Dernière intervention
15 août 2021
276
Modifié par ryko1820 le 12/07/2013 à 11:26
Modifié par ryko1820 le 12/07/2013 à 11:26
Hello,
A priori c'est file qui donne de "fausses info". car il se base sur le contenu de ton fichier.
Si il arrive qu'il n'y ait pas de caractères > charcode 128 dans ton fichier il considérera que le fichier est ascii-us
Si au contraire il y a des caractères > au charcode 128 dans ton fichier il considérera que c'est de l'UTF-8
Normalement l'application qui utilisera ton fichier devrait pas voir la différence car elle doit se baser sur l'entête XML qui elle est correcte et comme même tes fichiers, soit disant ASCII-US, sont eux aussi d'un point de vue UTF-8 conformes ...
Ces histoires d'encode sont compliquées, j'espère ne pas dire de bêtise en disant que l'ASCII est "compatible" avec l'UTF-8 car les charcodes qui le constitue sont inclus dedans, alors que le contraire serait impossible ...
Si tu regardes dans tes fichiers ce qui différencie ceux qui sont reconnus en UTF-8 de ceux qui le sont en ASCII tu constateras certainement que c'est la présence de caractères typiquement UTF-8 (accents, etc ...) qui sont absent de ceux reconnu en ASCII.
Il ne manque pas de caractères dans tes fichiers reconnus comme ASCII ?
*******
Pour le problème de l'installation de recode je ne sais pas (tu es bien administrateur ou sudoé ?) ... Le dernier RH que j'ai touché était du CentOS. :)
Sinon tu peux aussi essayer la commande utrac qui manipule aussi les encode...
Elle n'est plus dans les packages officiels Gentoo depuis fin 2012 et je ne sais pas trop ce qu'elle fait, mais peut être que tu peux l'installer sur RH : yum install utrac ? (Ou peut être l'a tu déjà sur ton système) ...
A priori c'est file qui donne de "fausses info". car il se base sur le contenu de ton fichier.
Si il arrive qu'il n'y ait pas de caractères > charcode 128 dans ton fichier il considérera que le fichier est ascii-us
Si au contraire il y a des caractères > au charcode 128 dans ton fichier il considérera que c'est de l'UTF-8
Normalement l'application qui utilisera ton fichier devrait pas voir la différence car elle doit se baser sur l'entête XML qui elle est correcte et comme même tes fichiers, soit disant ASCII-US, sont eux aussi d'un point de vue UTF-8 conformes ...
Ces histoires d'encode sont compliquées, j'espère ne pas dire de bêtise en disant que l'ASCII est "compatible" avec l'UTF-8 car les charcodes qui le constitue sont inclus dedans, alors que le contraire serait impossible ...
Si tu regardes dans tes fichiers ce qui différencie ceux qui sont reconnus en UTF-8 de ceux qui le sont en ASCII tu constateras certainement que c'est la présence de caractères typiquement UTF-8 (accents, etc ...) qui sont absent de ceux reconnu en ASCII.
Il ne manque pas de caractères dans tes fichiers reconnus comme ASCII ?
*******
Pour le problème de l'installation de recode je ne sais pas (tu es bien administrateur ou sudoé ?) ... Le dernier RH que j'ai touché était du CentOS. :)
Sinon tu peux aussi essayer la commande utrac qui manipule aussi les encode...
Elle n'est plus dans les packages officiels Gentoo depuis fin 2012 et je ne sais pas trop ce qu'elle fait, mais peut être que tu peux l'installer sur RH : yum install utrac ? (Ou peut être l'a tu déjà sur ton système) ...
ryko1820
Messages postés
1645
Date d'inscription
dimanche 28 avril 2013
Statut
Membre
Dernière intervention
15 août 2021
276
Modifié par ryko1820 le 12/07/2013 à 11:31
Modifié par ryko1820 le 12/07/2013 à 11:31
Pour convertir tu peux aussi utiliser vi ...
Tu peux ouvrir tes fichier reconnu comme ASCII dans vi et utiliser la séquence d'échappement :
Puis enregistrer :
Ton fichier sera toujours reconnu comme ASCII par file ...
Si au contraire tu remplaces UTF-8 par ASCII,
tu verras au moment de l'enregistrement un "converti" ...
mais un diff ne montrera aucune différence entre un même fichier UTF-8 et ASCII et cela même au niveau binaire (pour peu que le fichier UTF-8 ne contienne aucun caractère UTF-8)... Partant de là comment file pourrait-il faire la différence ?
Tu peux ouvrir tes fichier reconnu comme ASCII dans vi et utiliser la séquence d'échappement :
[echap] : set fileencoding=UTF-8
Puis enregistrer :
[echap] : w
Ton fichier sera toujours reconnu comme ASCII par file ...
Si au contraire tu remplaces UTF-8 par ASCII,
[echap] : set fileencoding=ASCII
tu verras au moment de l'enregistrement un "converti" ...
[echap] : qou
[echap] : q!pour quitter (! sans enregistrer) ...
mais un diff ne montrera aucune différence entre un même fichier UTF-8 et ASCII et cela même au niveau binaire (pour peu que le fichier UTF-8 ne contienne aucun caractère UTF-8)... Partant de là comment file pourrait-il faire la différence ?
yacleouf
Messages postés
438
Date d'inscription
mercredi 11 mars 2009
Statut
Membre
Dernière intervention
8 juin 2015
39
12 juil. 2013 à 11:29
12 juil. 2013 à 11:29
Merci pour ce complément d'infos !
Effectivement tu as raison concernant le file-i il prend bien en compte que mon fichier est en utf-8 qu esi il y décèle des accents ou autres ...
Je pensais que mon encodage était vraiement pas bon car, dans mon application cible l'intégration des données de mon xml, ce passe mal exemple d'un mots tronqué :
Employé
je vais creuser du coté du parser ... Merci encore !
Concernant les installes sur mon RH, j'ai contacter mon admin, :)
et pour info oui je suis bien root sur le serveur ...
Bon sujet "clos" Merci encore
Effectivement tu as raison concernant le file-i il prend bien en compte que mon fichier est en utf-8 qu esi il y décèle des accents ou autres ...
Je pensais que mon encodage était vraiement pas bon car, dans mon application cible l'intégration des données de mon xml, ce passe mal exemple d'un mots tronqué :
Employé
je vais creuser du coté du parser ... Merci encore !
Concernant les installes sur mon RH, j'ai contacter mon admin, :)
et pour info oui je suis bien root sur le serveur ...
Bon sujet "clos" Merci encore
11 juil. 2013 à 16:34
Je viens d'essayer : yum install encode
et j'ai reçu en retour :
No package encode available.
11 juil. 2013 à 16:39
essaye : yum install recode
11 juil. 2013 à 16:41
11 juil. 2013 à 16:50
Il doit bien exister : http://rpmfind.net/linux/rpm2html/search.php?query=recode
11 juil. 2013 à 17:00
je vois pas pourquoi il ne les trouvent pas ! pourtant tout est bien reliés au net