Impression de caractères unicode en java
Affichage unicode
de caractères en java affiche "?" signe. Par exemple, j'ai essayé d'imprimer "अ". Son unicode
Nombre est U+0905 et de la représentation html est "अ".
Ci-dessous la des codes de tirages "?" au lieu de unicode
caractère.
char aa = '\u0905';
String myString = aa + " result" ;
System.out.println(myString); //displays "? result"
Est-il un moyen pour afficher unicode
caractère directement à partir de unicode
lui-même sans l'aide de unicode
numéros? j'.e "अ" est enregistré dans le fichier maintenant afficher le fichier jsp.
- Peut-être votre console n'est pas en mesure ou configuré pour afficher un personnage?
- J'ai essayé cette servlet méthode get. Ici aussi il montre "?" dans le navigateur.
- est de votre demande de retour utf8?
- Si vous enregistrez votre .java ou .jsp fichier en utf-8, puis vous pouvez utiliser des caractères unicode sans codage
Vous devez vous connecter pour publier un commentaire.
essayez d'utiliser le jeu de caractères utf8 -
Java définit deux types de flux d'octets et de caractère.
La principale raison pour laquelle le Système.out.println() ne peut pas montrer des caractères Unicode est que Système.out.println() est un flux d'octets qui traitent seulement de la faible-de l'ordre de huit bits de caractère qui est en 16 bits.
Afin de composer avec les caractères Unicode(caractères Unicode 16 bits), vous devez utiliser des caractères de flux c'est à dire PrintWriter.
PrintWriter prend en charge le print( ) et println( ) méthodes. Ainsi, vous pouvez utiliser ces méthodes
de la même manière que vous les avez utilisés avec le Système.out.
Votre
myString
variable contient le parfaitement en valeur correcte. Le problème doit être la sortie deSystem.out.println(myString)
qui a pour envoyer des octets de sortie pour afficher les glyphes que vous voulez voir.System.out
est un PrintStream à l'aide de la "plate-forme de codage par défaut" pour convertir les caractères de séquences d'octets - peut-être que votre plate-forme ne prend pas en charge ce caractère. E. g. sur mon ordinateur Windows 7 en Allemagne, l'encodage par défaut est CP1252, et il n'y a pas de séquence d'octets dans cet encodage qui correspond à votre caractère.Ou peut-être que le codage est correct, mais tout simplement la police qui crée graphique glyphes de caractères n'est pas ce personnage.
Si vous envoyez votre sortie de Windows CMD.EXE à la fenêtre, puis peut-être les deux raisons s'appliquent.
Mais rassurez-vous, votre chaîne est correcte, et si vous l'envoyez à une destination qui peut s'en occuper (par exemple, un Swing component swing jtextfield), il va s'afficher correctement.