【发布时间】:2012-04-13 17:14:23
【问题描述】:
半年前,我遇到了烦人的问题。仍然无法修复它。 问题在于 log4j-logging,其中默认字符集是 utf 8。
有时我会收到不同编码的消息,CP1252。 (没有办法改变这一点)。 因此,登录 utf8 会使文本不可读。 我可以以某种方式修复编码,并且此文本将在日志中可读。
但是如果我将那个“编码修复”应用到正常的消息上,它就会搞砸了。 我需要知道是否真的需要这种转换。不幸的是,我没有想法。
【问题讨论】:
-
不可能可靠地检测文本块的编码。你通常必须知道你在处理什么。想必您可以确定您在 CP1252 中接收消息的情况,不是吗?这里更大的场景是什么?
-
不。我无法预测 :( 据我所知,正常消息是 utf 8 和 cp1251。但其中一些可能取决于 Windows 语言,这就是它们在 CP1252 中的原因。我可以通过转换 1252->1251 使它们可读->utf8。但它肯定会弄乱正常的。
标签: java utf-8 character-encoding cp1252