UTF-8 dans du code Java
Je suis un string 'ÐаленÐаÑÐ" au lieu d'être "Календари' dans du code Java. Comment puis-je convertir "ÐаленÐаÑÐ' à 'Календари'?
J'ai utilisé
String convert =new String(convert.getBytes("iso-8859-1"), "UTF-8")
String convert =new String(convert.getBytes(), "UTF-8")
- Pouvez-vous développer l'exemple de code un peu? Il n'est pas clair où l'entrée est à venir à partir de. Pas clair non plus si vous êtes en train de lire io, ou d'avoir une chaîne de caractères en mémoire?
- la première ligne fonctionne pour moi dans mon code
- Où est la chaîne vient de commencer? Pourquoi êtes-vous à l'aide de l'ISO-8859-1, qui ne peut pas encoder les caractères que vous avez indiqué?
- De quoi êtes-vous afin d'afficher la chaîne de caractères?
Vous devez vous connecter pour publier un commentaire.
Je crois que votre code est correct. Il semble que votre problème est que vous avez besoin de faire un caractère spécifique de conversion, et peut-être que votre "réel" d'entrée n'est pas codé correctement. Pour tester, je voudrais faire un standard, étape par étape, jeu de caractères d'encodage/de décodage, pour voir où en sont les choses de rupture.
Vos encodages bien, http://docs.oracle.com/javase/1.6/docs/guide/intl/encoding.doc.html
Et la suite semble fonctionner normalement :
Utiliser les valeurs Unicode au lieu de littéraux de chaîne. Pour plus d'informations, voir:
Edit -
Notez qu'il est important d'utiliser une police de sortie qui prend en charge l'affichage des valeurs Unicode (par exemple
Arial Unicode MS
).Exemple -