2010-05-14 16 views
1

J'ai une application Java qui a une interface graphique en anglais et en français, en utilisant les services d'internationalisation Java standard. Je l'ai écrit dans JBuilder 2005 sur une vieille machine, et récemment mis à jour, ce qui a entraîné la modification des IDE. J'ai finalement choisi IntelliJ.IntelliJ et l'internationalisation: caractères accentués

Cependant, il ne semble pas capable de gérer les caractères accentués dans mes descendants ListResourceBundle qui contiennent du français. Quand j'ai créé le projet IntelliJ pour la première fois et que j'ai ajouté ma source (ce que j'ai fait manuellement, pour être sûr que rien ne se passait dans les coulisses), j'ai remarqué que tous les caractères accentués avaient été changés en deux caractères. J'ai parcouru le code et corrigé tout cela, et supposé que le problème était résolu.

Mais je trouve en exécutant le projet (reconstruit) que les paires de caractères sont toujours visibles, au lieu des caractères accentués que je vois dans mon code! Est-ce que quelqu'un qui a fait de l'internationalisation dans IntelliJ peut me dire ce que je dois faire pour résoudre ce problème?

PS: Je suis sur Mac.

+0

+1 pour adorant IntelliJ IDE. Si ce n'était pas pour cet IDE j'avais déjà passé de Java à une autre langue;) – SyntaxT3rr0r

+0

Je les appelle comme je les vois! :-) Pour être tout à fait honnête, je vivais raisonnablement confortablement avec les faiblesses de NetBeans ... Jusqu'à ce qu'il commence à supprimer aléatoirement des fichiers .class après la compilation. Tous les forums peuvent dire, semble-t-il, que c'est un bug intermittent connu ... et aucune des solutions de contournement ne l'a fait pour moi. Je suis vraiment content. il m'a conduit à IntelliJ, qui jusqu'ici n'a presque aucune faiblesse! :-) – skiaddict1

Répondre

1

Deux choses -

Tout d'abord, assurez-vous que vos fichiers sont stockés au format UTF, et que votre contrôle source prend en charge l'encodage.

En second lieu, envisager d'utiliser le support de montage du faisceau de ressources intégré dans IntelliJ http://www.jetbrains.com/idea/features/i18n_support.html

+0

Wow, je viens de jeter un coup d'œil au support I18n dans IntelliJ! Encore une raison d'être totalement amoureux de ce produit. Merci beaucoup. – skiaddict1

+0

Aussi, je ne sais pas comment faire ce que vous suggérez dans votre première phrase. Pouvez-vous être un peu plus précis, s'il vous plaît? – skiaddict1

+0

Désolé j'étais fatigué quand j'ai répondu. Consultez [http://jetbrains.dzone.com/articles/new-approach-encoding] pour définir l'encodage des fichiers. Le conseil que je souhaite transmettre est d'être très délibéré sur l'encodage de fichiers dans votre projet. Vous pouvez choisir d'utiliser 1521 et utiliser des échappements pour tout, ou utiliser un UTF8 et intégrer les caractères réels dans votre code.Comme @openCage l'a indiqué, les fichiers de propriétés seront toujours verrouillés en ascii seulement, mais avec i18n, mon expérience a été celle des cas de test, alors un peu de code commence invariablement à utiliser des caractères non-ascii. –

0

Les groupes de ressources Java ne doivent contenir que les codes d'échappement ASCII et Unicode voir [http://java.sun.com/developer/technicalArticles/Intl/ResourceBundles/].

par exemple. \ u00d6ffnen pour l'Allemand Öffnen.

L'outil de ligne de commande native2ascii convertit votre format natif en code ASCII plus codes d'échappement Unicode. C'est un peu compliqué mais pas un Intellij mais un problème de Java.

Note: J'utilise Intellij sur un Mac pour créer des programmes localisés en anglais, allemand et japonais.

+0

Merci ... J'ai essayé ceci, et maintenant au lieu de é j'ai "\ u221a \ u00a9" dans le fichier, mais quand je cours le programme, je reçois toujours √ © !!! Aide? – skiaddict1

+0

Le lien est mort:/ – Gabriel

Questions connexes