log4j imprime des caractères incorrects
Rapports quelqu'un m'que le programme que je lui ai donné qui utilise log4j ne pas imprimer correctement les caractères. Il me dit que "é" est imprimé dans le fichier en tant que "é" (par exemple: "Vidéo" devient "Vidéo").
C'est probablement un problème de codage, mais j'aime reproduire les problèmes à prouver qu'il est fixe.
J'ai été incapable de trouver la bonne (et courte), de la documentation sur le sujet:
- Quelles sont les causes de ce problème, et comment log4j choisi l'encodage?)?
- Peut-il être fixe simplement à l'aide de "log4j.appender.myappender.encoding=UTF-8" ?
Merci pour l'aide!
Ã
est une arme que vous visualisez des données UTF-8 comme raw caractères.
Vous devez vous connecter pour publier un commentaire.
WriterAppender
(qui est la classe de base pourFileAppender
et de ses variantes. A unsetEcoding
méthode. Donc oui: à l'aide delog4j.appender.myappender.encoding=UTF-8
doit travailler tout simplement.Noter, cependant, que la "Vidéo" devenir "Vidéo:" on dirait que c' est écrit en UTF-8, mais tout ce que vous utilisez pour afficher le fichier interprète comme un autre encodage (généralement c'est ISO-8859-* l'encodage ou l'une de l'ISO-produits dérivés).
Ã
est U+00C3 et©
est U+00A9. Ils sont codés comme des 0xC3 et 0xA9 en ISO-8859-1.é
est U+00E9 qui est codé comme 0xC3 0xA9 en UTF-8.Si votre utilisateur est l'affichage de l'historique des fichiers via SSH, alors ils ont besoin de raconter leur client SSH pour utiliser UTF-8 aussi.