繁体   English   中英

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

[英]Japanese character not displayed properly in Java

我有文本框和一个按钮。 我在文本框中输入日语字符,例如こんにちは。

当我单击按钮时,将在文本框中发送带有文本的电子邮件。

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

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

提前致谢。

您应该确保使用的字符集支持日语字符,例如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说:“默认字符集是在虚拟机启动期间确定的,通常取决于底层操作系统使用的语言环境和字符集。”

我不是很确定您是否正在使用Java Servlet,但是如果您这样做,可以尝试一下

request.setCharacterEncoding("UTF-8");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM