Comment convertir un texte unicode en ascii?

Comment convertir un texte unicode en ascii? - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 25-03-2005 à 15:34:13    

Bonjour.
 
J'ai travaillé avec un copain sur un code C. Le problème est qu'il a une Redhat et que depuis qu'il a modifié les sources les caractères accentués ne passent plus chez moi, probablement parceque redhat utilise unicode. Comment reconvertir les textes sources en ascii?
 
Merci.


---------------
.
Reply

Marsh Posté le 25-03-2005 à 15:34:13   

Reply

Marsh Posté le 25-03-2005 à 15:45:57    

Bonjour,
 
cela se fait avec la commande iconv.
Par exemple pour convertir de l'iso8859-15 en utf8, fait:
iconv -f iso8859-15 -t utf-8 < fichier_iso.txt > fichier_utf.txt
 
Oliv'

Reply

Marsh Posté le 25-03-2005 à 15:48:03    

je vais peut-être dire une bêtise mais il y a des caractères accentués en ASCII ?


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 25-03-2005 à 15:58:19    

Mjules a écrit :

je vais peut-être dire une bêtise mais il y a des caractères accentués en ASCII ?


man 7 ascii te le diras [:itm]

Reply

Marsh Posté le 25-03-2005 à 16:00:00    

l0ky a écrit :

man 7 ascii te le diras [:itm]


tiens, je savais même pas qu'il existait celui là :)
 
donc non, c'est bien ce que je pensais, il n'y a pas de caractère accentués dans l'ASCII


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 25-03-2005 à 16:41:44    

0liv a écrit :

Bonjour,
 
cela se fait avec la commande iconv.
Par exemple pour convertir de l'iso8859-15 en utf8, fait:
iconv -f iso8859-15 -t utf-8 < fichier_iso.txt > fichier_utf.txt
 
Oliv'


aya, passe pas  :(  

Code :
  1. [tibo@latibo]$ iconv -f utf-8 -t iso8859-15 cliforum.c cliforumok.c
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <sys/types.h>
  5. #include <sys/ipc.h>
  6. #include <sys/msg.h>
  7. #include "structures.h"
  8. #include <time.h>
  9. char login[30];
  10. void menu();
  11. void menu2();
  12. void menu3();
  13. void menuRoot();
  14. msg_standard inscription(msg_standard msg_inscription);
  15. msg_standard identification(msg_standard msg_identification);
  16. msg_standard envoi(msg_standard msg);
  17. msg_standard creation(msg_standard msg);
  18. msg_standard acces(msg_standard msg);
  19. msg_standard rechercheForum(msg_standard msg);
  20. msg_standard abonnement(msg_standard msg);
  21. msg_standard posterMessage(msg_standard msg);
  22. msg_standard ListerMessage(msg_standard msg);
  23. msg_standard desabonnement(msg_standard msg);
  24. msg_standard ListerMessagesNonLu(msg_standard msg);
  25. msg_standard ListerMessageAvecId(msg_standard msg);
  26. msg_standard suppression(msg_standard msg);
  27. msg_standard suppressionAuto(msg_standard msg);
  28. msg_standard fermeture(msg_standard msg);
  29. int main(int argc, char *argv[]){
  30.         printf("Debut de cliforum\n" );
  31.         //diconv: Séquence d'échappement illégale à la position 1000
  32. [tibo@latibo]$



---------------
.
Reply

Marsh Posté le 25-03-2005 à 18:42:11    

bon ben j'ai résolu le problème en enlevant les caractères à la main.
merci et a+!


---------------
.
Reply

Marsh Posté le 26-03-2005 à 13:43:51    

[tibo@latibo]$ iconv -f utf-8 -t iso8859-15 cliforum.c cliforumok.c


A noter que les redirections n'étaient pas facultatives ;) t'aurais donc dû taper:

[tibo@latibo]$ iconv -f utf-8 -t iso8859-15 < cliforum.c > cliforumok.c

Reply

Marsh Posté le 28-03-2005 à 13:39:03    

D'ailleurs pour info il existe un excellent article qui explique ça aux newbies : http://french.joelonsoftware.com/Articles/Unicode.html


---------------
"The marketing guys said the HP-35 would be a failure because it was too small, and then we couldn't make them fast enough to meet the demand. The marketing folks don't know everything." - Bill Hewlett
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed