有人报告我,我给他使用log4j的程序没有正确打印字符.他告诉我"é"在文件中打印为"Ã"(例如:"Vidéo"变成"VidÃ"o").
这可能是一些编码问题,但我喜欢重现问题以证明它是固定的.我无法找到有关该主题的优秀(和简短)文档,因此:
感谢您的帮助!
Joa*_*uer 21
WriterAppender(这是它的基类FileAppender和它的变体.有一个setEcoding方法.所以是的:使用log4j.appender.myappender.encoding=UTF-8应该只是工作.
但请注意,"Vidéo"变成"Vidéo"看起来像是在编写UTF-8,但无论你用什么来查看文件,都将其解释为其他编码(通常是一些ISO-8859-*编码或其中一种编码) ISO衍生物).
Ã是U + 00C3并且©是U + 00A9.它们在ISO-8859-1中编码为0xC3和0xA9.
é 是U + 00E9,在UTF-8中编码为0xC3 0xA9.