Chameau: évolution des flux d'encodage
M'arrive de recevoir des flux de données à partir de l'adresse http à cet itinéraire:
from("direct:foo").
to("http://foo.com/bar.html").
to("file:///tmp/bar.html")
Flux HTTP livré avec Windows-1251
encodage. Je tiens à re-code de UTF-8
à la volée et ensuite le stocker dans un fichier.
Comment le faire en utilisant la norme camel
façon?
Avez-vous essayé
Trouvé qu'il accepte l'encodage. Merci. Essayer maintenant.
Hm. J'imagine que vous devez convertir le flux d'une chaîne à l'aide de CP1251 avec
S'il vous plaît, convertir votre suggestiong de réponse, je vais l'accepter.
convertBodyTo
? camel.apache.org/convertbodyto.htmlconvertBodyTo()
convertit le type
de corps, pas d'encodageTrouvé qu'il accepte l'encodage. Merci. Essayer maintenant.
Hm. J'imagine que vous devez convertir le flux d'une chaîne à l'aide de CP1251 avec
convertBodyTo()
. Puis convertir cette chaîne en UTF-8 par réglage de la charset
paramètre sur le fichier URL du point de terminaison.S'il vous plaît, convertir votre suggestiong de réponse, je vais l'accepter.
OriginalL'auteur Archer | 2014-02-05
Vous devez vous connecter pour publier un commentaire.
Jetez un oeil à
.convertBodyTo()
- en particulier lacharset
argument.Référence: http://camel.apache.org/convertbodyto.html
OriginalL'auteur vikingsteve
Je pense que vikingsteve la solution manque une étape. Le flux d'entrée contient des caractères avec le codage CP1251. Les personnages de ce cours d'eau ne changent pas de codage lors de la conversion du flux d'entrée le contenu d'une chaîne de caractères. Vous devez spécifier le même caractère schéma de codage qui a été utilisé par l'entité qui a encodé les caractères lorsque vous les décoder. Autrement, vous obtiendrez des résultats indésirables.
J'ai testé la lecture d'un CP1251 fichier codé contenant des accents:
En utilisant les deux étapes de décodage, puis re-codage des rendements codé correctement accents. Si je change d'itinéraire à
le fichier de sortie est toujours codé en UTF-8, peut-être parce que c'est ma plate-forme par défaut, mais les accents sont incompréhensibles.
OriginalL'auteur Ralf