Bonjour,
alors mon ptit problème en ce moment c’est l’encodage sous Netbeans.
Explications : Je tourne sur une Gentoo avec comme locales :
[quote]IPCGentoo ~ # locale-gen
- Generating 2 locales (this might take a while) with 1 jobs
- (1/2) Generating fr_FR.ISO-8859-1 … [ ok ]
- (2/2) Generating fr_FR.ISO-8859-15@euro … [ ok ]
- Generation complete[/quote]
Oui, parce que je bosse en binôme avec des gens utilisant windows. Bref, passons. Jusqu’a présent j’était en UTF-8. Pour un projet je dois parser des page web depuis un programme java. Dans mon code sous netbeans, j’ai pris l’habitude de ne plus écrire les accents vu que netbeans ne le comprenait pas. Sauf que du coup quand je parse une page web, tous les accent passent à la trappe et je me retrouve donc avec des ? un peu partout. Et ca… Ben ca me broutte. En fait, c’est pas que ca me broutte, c’est juste que c’est inutilisable.
Je cherche donc un moyen de faire comprendre les accents à netbeans. Je vais donc dans Tools -> Options -> Advanced Options -> Java sources et je définit le Default Encoding à fr_FR.ISO-8859-1.
Magie j’arrive à foutre des caractères accentués dans mon code, mais le problème et que netbeans “plante” (évidemment, impossible d’enregistrer le fichier) avec un magnifique message d’erreur :
[quote]A java.nio.charset.UnsupportedCharsetException exception has occurred.
java.nio.charset.UnsupportedCharsetException: fr_FR.ISO-8859-1
at java.nio.charset.Charset.forName(Charset.java:500)
at org.netbeans.modules.java.JavaEditor.checkCharsetConversion(JavaEditor.java:560)
at org.netbeans.modules.java.JavaEditor.saveDocument(JavaEditor.java:547)
at org.netbeans.modules.java.JavaEditor.saveDocument(JavaEditor.java:533)
at org.netbeans.modules.java.JavaEditor$Save.save(JavaEditor.java:245)
at org.netbeans.core.NbTopManager.saveAll(NbTopManager.java:267)
at org.netbeans.core.NbTopManager.access$300(NbTopManager.java:69)
at org.netbeans.core.NbTopManager$NbLifecycleManager.saveAll(NbTopManager.java:427)
at org.openide.actions.SaveAllAction.performAction(SaveAllAction.java:84)
at org.openide.util.actions.CallableSystemAction$1.run(CallableSystemAction.java:100)
at org.netbeans.modules.openide.util.ActionsBridge$ActionRunnable.actionPerformed(ActionsBridge.java:87)
at org.netbeans.core.ModuleActions.invokeAction(ModuleActions.java:80)
at org.netbeans.modules.openide.actions.ActionsBridgeImpl.invokeAction(ActionsBridg
eImpl.java:30)
at org.netbeans.modules.openide.util.ActionsBridge$ActionRunnable.doRun(ActionsBridge.java:78)
at org.netbeans.modules.openide.util.ActionsBridge$1.run(ActionsBridge.java:47)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:499)
[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:932)[/quote]
J’adore…
J’ai essayé de regarder au niveau de l’encodage de mes fichiers puisqu’a la base j’étais en UTF-8 :
[quote]ivru@IPCGentoo ~ $ file -i Cours/rim/laboRIM/src/laboRIM/Document.java
Cours/rim/laboRIM/src/laboRIM/Document.java: text/x-c; charset=us-ascii[/quote]
pour ensuite les convertir en ISO et là… c’est le drame :
[quote]ivru@IPCGentoo ~/Cours/rim/laboRIM/src/laboRIM $ iconv -f utf-8 -t iso-8859-1 <Document.java >Document.java
ivru@IPCGentoo ~/Cours/rim/laboRIM/src/laboRIM $ file -i Document.java
Document.java: application/x-empty[/quote]
Apparemment l’encodage de mon fichier n’existe plus (avec la commande iconv -f ascii -t iso-8859-1 j’ai exactement la même chose) B)
Bref, je sais pas ou ca merde : mes fichiers sont mal encoder à la base ? Faut il TOUS les convertir avant de les utiliser sous netbeans? bref : Faut faire quoi pour que netbeans accepte mes accents ?
Help B)
Pour la peine ils devraient inventer une nouvelle norme pour rendre les choses encore plus clair et simplifier le problème…