【发布时间】:2011-01-11 05:16:33
【问题描述】:
问题:我有一个包含特殊字符的字符串,我将其转换为字节,反之亦然。转换在 Windows 上正常工作,但在 linux 上,特殊字符未正确转换。Linux 上的默认字符集是 UTF-8,如所示与 Charset.defaultCharset.getdisplayName()
但是,如果我使用选项 -Dfile.encoding=ISO-8859-1 在 linux 上运行,它可以正常工作..
如何使用 UTF-8 默认字符集而不是在 unix 环境中设置 -D 选项使其工作。
编辑:我使用 jdk1.6.13
编辑:代码 sn-p 与 cs = "ISO-8859-1" 一起使用;或 cs="UTF-8";在win上但不在linux中
String x = "½";
System.out.println(x);
byte[] ba = x.getBytes(Charset.forName(cs));
for (byte b : ba) {
System.out.println(b);
}
String y = new String(ba, Charset.forName(cs));
System.out.println(y);
~问候 来了
【问题讨论】:
-
你能发布你的代码吗?
标签: java character-encoding file-encodings