Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/06/2008, à 13:58

Muetdhiver

Différence encodage car spéciaux Win/Linux ?

Bonjour à tous.

J'avais un programme sous Windows que j'essaie de porter sous linux / ubuntu.
Voila, tut va bien mais quelque chose de chiant apparait dans mon projet : l'encodage de certains caractère, comme le caractère §.

Je m'explique. Je prends un fichier source que j'avais fais sous Windows. Mon disque en FAT32 partage des fichiers windows / linux.

Voici par exemple l'ouverture d'un tel fichier sous BlocNote de windows :
Encodage_Windows.JPG

Maintenant je prends ce fichier, je l'ouvre avec GEdit sous Ubuntu : pas de probleme, meme encodage. Je l'ouvre sous Eclipse, et j'ajoute un espace, enfin peu importe, et je l'enregistre. A l'ouverture sous Gedit, voici le résultat :
Encodage_Eclipse_Ubuntu.png

Je tiens a préciser quand dans les propriétés de mon projet l'encodage est en UTF-8.

Comment faire ? Est-ce normal ? Merci pour l'aide.

Hors ligne

#2 Le 15/06/2008, à 16:16

Martopioche

Re : Différence encodage car spéciaux Win/Linux ?

projet oui mais au niveau de chaque fichier ? (oui c'est con, mais la prise est elle branchée wink )

Hors ligne

#3 Le 15/06/2008, à 18:04

Muetdhiver

Re : Différence encodage car spéciaux Win/Linux ?

De quoi la prise elle est branchée ?? ! cool

Bon sinon au niveau de chaque fichier l'encodage sous Eclipse est mis a default (inherited from container : UTF-8).

Voila, any idea ? Merci.

Hors ligne

#4 Le 15/06/2008, à 23:04

thierrySo

Re : Différence encodage car spéciaux Win/Linux ?

je ne suis pas sûr que le bloc note sous windows gère par défaut l'utf-8.
si c'est le cas alors ton fichier  été enregistré dans un autre format d'encodage sous windows, d'où les problèmes que tu as.

#5 Le 16/06/2008, à 08:38

Muetdhiver

Re : Différence encodage car spéciaux Win/Linux ?

Oui tu dois surement avoir raison. Mon avis serait que mes fichiers, édités sous Visual C++ 2005 soient dans un encodage comme ISO-8859-1.

Sauf que, lorsque je remets ce format sous Eclipse (ISO-8859-1) pour mes fichiers, je n'ai non plus un losange avec point d'interrogation dedans, mais 2 !

Enfin voila, d'ou la question : comment convertir de l'ISO-8859-1 vers de l'UTF-8 ?


Merci.

Hors ligne

#6 Le 16/06/2008, à 08:59

nicolas.sitbon

Re : Différence encodage car spéciaux Win/Linux ?

man iconv

Hors ligne

#7 Le 16/06/2008, à 11:50

thierrySo

Re : Différence encodage car spéciaux Win/Linux ?

et si la conversion ne marche pas en prenant l'iso pour base, tu peux essayer avec windows-1252 qui est plutôt courant sous windows.

#8 Le 16/06/2008, à 12:25

nicolas.sitbon

Re : Différence encodage car spéciaux Win/Linux ?

thierrySo a écrit :

et si la conversion ne marche pas en prenant l'iso pour base, tu peux essayer avec windows-1252 qui est plutôt courant sous windows.

il y a même fort à parier que ça soit du cp1252. A n'en pas douter!!!

Hors ligne

#9 Le 16/06/2008, à 12:39

thierrySo

Re : Différence encodage car spéciaux Win/Linux ?

>il y a même fort à parier que ça soit du cp1252. A n'en pas douter!!!

possible ^^

http://fr.wikipedia.org/wiki/Windows-1252

#10 Le 16/06/2008, à 14:46

Muetdhiver

Re : Différence encodage car spéciaux Win/Linux ?

Ouais c'est clair y a fort a parier vous avez raison ! J'essaierai mais bon sous Visual C++.... c'est surement du CP1252. L'autre truc serait alors, sous ubuntu, de faire avaler du CP1252 à Eclipse ? C'est une utopie ? Ca n'existe pas sous Ubuntu ?

Parce que quand meme, je prends mon fichier du monde Windows et je l'ouvre sous linux avec GEdit, là j'ai aucun souci ! Alors GEdit s'adapte et serait capable de décoder du CP1252 ou de l'ISO mais pas Eclipse ? !!

D'ailleurs on peut effectivement régler l'encodage d'un fichier à ISO-8859-1 sous Eclipse!  Et là ca me donne des caractères erronés aussi ! Donc c'est sur que si meme en ISO ca marche pas, c'est du CP1252.

Maintenant j'ai une autre question qui me vient, en plus ! :
Mon appli s'appuit sur un fichier de définition en texte normal, genre un fichier qui contient les définitions d'un dictionnaire. Il faut que j'encode également ce dictionnaire ? Car là je cherche des définitions mais du coup en UTF-8 je ne les trouve plus !!!

Enfin bref jvé essayer tout ca !

Hors ligne

#11 Le 17/06/2008, à 00:04

thierrySo

Re : Différence encodage car spéciaux Win/Linux ?

je sais que je dévie du sujet, mais vous avez l'air d'attacher de l'importance à différencier les charsets "windows-1252" et "Cp1252".

pour moi c'est le même charset avec deux nom différents, quelles différences est ce que vous y voyez ?

#12 Le 17/06/2008, à 10:00

Muetdhiver

Re : Différence encodage car spéciaux Win/Linux ?

Bah non je pensais aussi que c'était la meme chose a premiere vue. Mais je me suis aussi posé la question ! ...

Hors ligne

#13 Le 23/06/2008, à 15:36

Muetdhiver

Re : Différence encodage car spéciaux Win/Linux ?

Rebonjour, quelques jours plus tard !!

Question: On me donne un fichier texte : peut-on connaitre son format d'encodage (CP1252, UTF8, ISO....) afin d'en déterminer la conversion à effectuer ? Si oui avec quel soft ? Merci.

Hors ligne

#14 Le 23/06/2008, à 16:18

Link31

Re : Différence encodage car spéciaux Win/Linux ?

file le_fichier.txt

Mais ce n'est pas fiable à 100% (c'est techniquement impossible).

Pour la conversion c'est la commande iconv.

Hors ligne

#15 Le 23/06/2008, à 22:02

Muetdhiver

Re : Différence encodage car spéciaux Win/Linux ?

Ca me renvoie ca sur mon fichier : Non-ISO extended-ASCII text, with CRLF line terminators

Effectivement c'est pas tres convainquant !!!

A plus!

Hors ligne

#16 Le 04/09/2008, à 17:31

clavreul

Re : Différence encodage car spéciaux Win/Linux ?

Bonjour,

j'ai eu le même problème.

Pour le résoudre, j'ai ouvert la boite de dialogue des préférences d'Eclipse, puis la rubrique General -> Content Type, sélectionné le type "Java Source File", et, en bas dans la case"Default Encoding", j'ai spécifié le type cp1252 et cliqué sur Update.

Cela dit, utiliser un encodage windows sous ubuntu, ça ne m'emballe pas vraiment sad  !

Hors ligne

#17 Le 05/09/2008, à 09:55

aleph

Re : Différence encodage car spéciaux Win/Linux ?

> Cela dit, utiliser un encodage windows sous ubuntu, ça ne m'emballe pas vraiment

Et pourquoi donc ?

Les codages de caractères et les plateformes (y compris les différents "Linux") sont deux choses distinctes.

Ta façon de travailler *est* correct, on adapte ses outils au codage de ce que l'on utilise et ne fait pas l'inverse. C'est d'ailleurs pour cette raison que tous les bons outils sur toutes les plateformes permettent de le faire (comme Eclipse dans le cas présent).