日语字符在Java中无法正确显示

时间:2013-06-03 15:11:58

标签: java jsp character-encoding character

我有文本框和按钮。我在文本框中输入了像こんにちは这样的日文字符。

当我点击按钮时,会发送带有文本框的电子邮件。

但是当收到电子邮件时,它会显示一些垃圾字符而不是日文字符。

有人可以告诉我为什么会这样吗?

提前致谢。

2 个答案:

答案 0 :(得分:1)

您应确保使用支持日语字符的字符集,例如Unicode。

例如,在创建String对象时,会有一个重载的构造函数,您可以在其中指定字符编码:

byte[] utf8Characters = { /* UTF-8 encoded characters */ };
String s = new String(characters, "UTF-8"); // Decode bytes using UTF-8.

当将字符串转换为字节时(即流式数据时),您可以使用:

byte[] utf8EncodedBytes = s.getBytes("UTF-8"); // Encode to UTF-8.

如果你没有指定字符编码,它将默认为某些字符集,这可能不支持你需要的字符。

Java Doc说: “默认字符集是在虚拟机启动期间确定的,通常取决于底层操作系统使用的语言环境和字符集。”

答案 1 :(得分:0)

我不确定你是否使用java servlet,但如果你这样做,你可以试试这个

request.setCharacterEncoding("UTF-8");