2010-01-11 10 views
0

J'ai écrit un programme qui envoie une requête à l'API Yahoo dans plusieurs langues naturelles. L'encodage sur Yahoo doit être utf8. Pas de problème en Delphi ou en Perl. Dans ma version Java, je convertis la requête de recherche sQuery1 comme ceci: try { utf8Bytes = sQuery1.getBytes ("utf-8"); sQuery8 = nouvelle chaîne (utf8Bytes, "utf-8"); } catch (etc.) Fonctionne correctement lorsqu'il est compilé à partir de la ligne de commande. Mais quand je tape exactement le même code avec Netbeans et lance le pot, le serveur Yahoo envoie un message d'erreur chaque fois que j'utilise des caractères spéciaux comme les accents français (fonctionne bien pour l'anglais si). Apparemment, le fichier jar compilé avec Netbeans ne prend pas en compte la conversion utf8. Lorsqu'il est exécuté depuis Netbeans, le programme fonctionne correctement. Toute explication?Problème avec l'encodage utf8 Chaînes Java utilisant Netbeans

+0

Etes-vous sûr que vous utilisez la dernière version de votre fichier jar? – Thilo

Répondre

0

Oui, lorsque j'ai coché Nettoyer et créer le projet principal dans NetBeans, puis j'ai exécuté le fichier jar créé dans le dossier dist.

+0

problème très similaire ici. informera dès que j'ai trouvé une solution. – Gorky

0

String Java est en UTF-16

1

J'ai un fichier batch pour appeler mon pot. Dès que je l'ai changé comme ci-dessous, tout a fonctionné comme un charme:

java -Dfile.encoding = utf-8 jar MultiLangugePain.jar