我有文本框和按钮。我在文本框中输入了像こんにちは这样的日文字符。
当我点击按钮时,会发送带有文本框的电子邮件。
但是当收到电子邮件时,它会显示一些垃圾字符而不是日文字符。
有人可以告诉我为什么会这样吗?
提前致谢。
答案 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");