Encoding, Japonais et JList
Bonjours à tous.
Voilà, je développe une appli qui comunique avec un serveur apache japonais qui bien sur me répond dans sa langue (hiragana et katakana).
J'affiche dans un premier temps une liste de mots qu'il me renvoie dans un JList qui me permet de selectionner un item (en japonais) dont je vais renvoyer le nom au server (avec les classes URL et URLConnection)
Pour récupérer les données, j'indique au StreamReader que c'est de l'UTF-8 : InputStreamReader reader = new InputStreamReader(conn.getInputStream(),"UTF-8");
Et le tout s'affiche sans problème dans la liste.
Mais lorsque je renvois au serveur le nom de l'item selectionné dans la JList ca ne fonctionne plus.
Si je ne touche pas à l'encodage, le serveur ne comprend pas ma requete.
Si je reconstruit le String en lui indiquant le codage UTF-8 :
new String(item.getBytes("UTF-8"),encoding);
(item = String, encoding = nom du Charset par defaut de l'OS (du moins je pense ...))
- Dans le cas d'un Windows Japonais (encoding MS932) ca ne marche pas du tout
- Dans celui d'un Windows Anglais (windows-1252) ca marche ... sauf quand il y a le signe ソ et un ou 2 autres dans le nom de l'item ... (remplacé par un ?) ce qui est franchement bizarre.
Je suppose k'il s'agit d'un encodage legerement different ou autre chose.
J'essaye un peu toutes les possibilités mais je ne trouve pas le bon encodage.
En quoi sont encodé les items de la liste?
Est ce que je suis assez clair?
#####
merci d'avance