将latin1编码为UTF8失败

时间:2012-09-10 10:27:27

标签: java encoding character-encoding websphere

我们有一个测试文件(csv)用于编码为latin1的导入(作为vim报告)。

我们已将websphere中的file.encoding和client.file.encoding更改为UTF-8。

现在sun.io.ByteToCharUTF8.convert中的“MalformedInputException”拒绝同一个文件

为什么?

我认为UTF8是latin1的超集。所以也许有些字节可能会被误解,但是当我们扩展字符集时,不应该有例外吗?

“MalformedInputException”会导致什么原因?

1 个答案:

答案 0 :(得分:1)

UTF-8是ASCII的超集,但不是latin-1(它是ASCII的不同超集)。 0-127范围内的所有字符在UTF-8和ASCII中都相等,但Latin-1也定义了128-255范围内的许多字符,这些字符在解释为UTF-8时可能会出现问题。