L'encodage de JMS TextMessage
M'arrive de recevoir des messages à partir d'un JMS MQ file d'attente qui sont soi-disant utf-8
codé. Cependant à la lecture de la sortie à l'aide de msgText = ((TextMessage)msg).getText();
Je reçois des points d'interrogation à où non caractères standard étaient présents. Il semble possible de spécifier l'encodage lors de l'utilisation d'un bytemessage
, mais je ne peux pas trouver un moyen de spécifier le codage lors de la lecture de la TextMessage
. Est-il un moyen de régler ce problème, ou dois-je appuyer sur pour bytemessages
?
Qui JMS de transport utilisez-vous ? Êtes-vous passer des messages XML ? La plate-forme êtes-vous de consommer et de produire des messages à partir de/à ?
Nous sommes sur Websphere MQ, les messages XML avec encoding="UTF-8"
Je ne suis pas sûr de la plate-forme est de produire, mais nous sommes consommer Avec Websphere en cours d'exécution sur solaris. Malheureusement, nous sommes complètement agnostique à propos de la mq mise en œuvre donc je ne peux pas donner une version numéros à ce point.
Nous sommes sur Websphere MQ, les messages XML avec encoding="UTF-8"
Je ne suis pas sûr de la plate-forme est de produire, mais nous sommes consommer Avec Websphere en cours d'exécution sur solaris. Malheureusement, nous sommes complètement agnostique à propos de la mq mise en œuvre donc je ne peux pas donner une version numéros à ce point.
OriginalL'auteur dr jerry | 2010-06-04
Vous devez vous connecter pour publier un commentaire.
Nous avons essayé d'ajouter
Dfile.encoding="UTF-8"
àWebsphere
's de la jvm et nous avons ajoutéDans notre
MessageListener
. Cela a fonctionné pour nous, alors nous avons pris laDfile.encoding
peu loin et il fonctionne toujours pour nous.En raison de préféré la configuration minimale pour
Websphere
nous avons décidé de partir de cette façon, en prenant également en compte le fait que nous pouvons plus facilement basculer leUTF-8
chaîne par un paramètre à partir du fichier ou de la base de données.C'est tout à fait une solution inhabituelle, nous ne penserions pas tout de suite, donc je vous remercie @dr-jerry !
OriginalL'auteur dr jerry
Si le texte n'est pas décodé correctement, alors probablement le client n'est pas d'envoyer le message avec l'utf-8 codec; cela devrait fonctionner:
OriginalL'auteur Ilario M.