【发布时间】:2019-02-27 20:33:01
【问题描述】:
我需要在触发某些事件时发送短信和电子邮件。 当我用英语测试时,它工作正常。但是当我将文本更改为 Japanese 时,它会产生某种垃圾信息。我使用 java 作为我的编程语言。
我尝试了一些解决方案,例如更改字符集首选项并在运行配置中添加 -Dfile.encoding=UTF8,但似乎不起作用。
它在特定情况下不起作用。 当我将 java 类中的字符串硬编码为日语字符串时,它工作正常。但是当我尝试从属性文件中读取时,它会产生一些垃圾字符。
【问题讨论】:
-
这里是之前的问题链接 "stackoverflow.com/questions/6271582/…" ;这可能会有所帮助..
-
为了发送邮件,你需要设置类似这样的mimetype header,mimeMessage.setHeader("Content-Type", "text/plain; charset=UTF-8");对于发送短信,您通常需要查看短信服务提供商的文档。仅通过在标头中设置 utf8 有时不起作用,因为它取决于服务器实现
-
属性文件默认采用 ISO8859-1 编码。你逃脱了日文字符吗?您是如何阅读属性文件的?
-
@Henry :我正在使用 spring 的“Value”注释直接从属性文件中读取值
-
然后确保属性文件只包含 ISO8859-1 字符。对其他人使用 unicode 转义。查看docs.oracle.com/javase/8/docs/technotes/tools/unix/… 以帮助进行转换。
标签: java android smsmanager cjk