`

记一次邮件标题乱码

    博客分类:
  • java
 
阅读更多

Java中乱码向来是让人头疼的一件事.原因是其中转码的地方太多了.

jsp 页面,request 参数 ,数据库读取存储, tomcat 设置 ,读取各种文件.这里就不提了.比较常见,网上很多.

 

邮件标题乱码,为什么标题会乱码,查看一下邮件源码.

 

我以为是subject 字符集错了,现在很明显是西欧字符集. 于是就设置subject 

BASE64Encoder enc = BASE64Encoder();  
msg.setSubject("=?UTF-8?B?"+enc.encode(subject.getBytes())+"?=");

查看源码

又尝试了 mailMessage.setHtmlEncoding(htmlEncoding); 

解析字符集改了.但是还是乱码.

猜测是不是这个字符本事有问题,想起是不是jvm 默认字符集作祟.于是查看

System.getProperty("file.encoding").   --->ANSI_X3.4-1968

果然就是它.

启动虚拟机的时候如果没有指定应该是系统默认字符集,查看系统字符集

locale -a
C

好吧! 我不知道C是什么? 难道是china???  哈哈!  估计是一个简码.

查看/etc/sysconfig/i18n

cat  /etc/sysconfig/i18n
LANG="zh_CN.UTF-8"

于是

source /etc/sysconfig/i18n

再查看 locale -a 已经是utf-8.

重启jvm.本以为信心满满.结果jvm的字符集还是没变.

做了这么多操作还是无效,真是惹火了我.可能是我理解的不够彻底.难道是加载先后顺序???于是我只能暴力一点了,修改启动jvm的参数

JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8"

成功了.

java 中字符集转换有很多.编译 执行期都需要转换.因为java本身是UNICODE.

如果在各种应用场景里就会有更复杂,比如 eclipse,tomcat等等. 需要仔细分析.究竟是那个环节的问题.

分享到:
评论

相关推荐

    替代System.Web.Mail的新类库(新增邮件列表功能).doc

    7. 邮件列表功能:类库新增了邮件列表的支持,允许一次操作向多个收件人发送邮件,这对于批量发送通知或者新闻通讯非常有用。 更新记录: - [1.0.0.3]: - 修复了一个在HTML格式下某些Web Mail系统无法读取附件的...

    编码互换工具-超级批量编码转换下载1.0 免费版--(亲测好用)

    该工具的“超级批量编码转换”特性使得用户能够一次性处理大量的文件,极大地提高了工作效率。用户可以选择目标编码格式,然后将指定目录下的所有文件进行批量转换,减少了手动操作的繁琐和出错的可能性。这对于处理...

    2021-2022计算机二级等级考试试题及答案No.4125.docx

    直到型循环保证至少执行一次循环体,即便条件一开始就不满足也能执行至少一次。 - **例题答案**: 正确。 #### 2. C语言函数特性 - **知识点**: - 函数可以使用相同的局部变量名。 - 函数不可以嵌套定义。 - 函数...

    2021-2022计算机二级等级考试试题及答案No.5373.docx

    1. 编码问题:在电子邮件中出现乱码通常是由于编码不统一导致的,正确答案是D。发送和接收邮件时,如果字符编码格式不一致,就会出现乱码现象。 2. 逻辑表达式:在编程中,NOT 3+5>8 的结果为 True,因为 3+5 不...

    Discuz! X1.5.1 繁体BIG5 R20111221.zip

    Discuz X1.5是康盛创想Comsenz推出的一个以社区为基础的专业建站平台,让论坛BBS、个人空间SNS、门户Portal、群组Group、应用开放平台Open Platform充分融合于一体,帮助网站实现一站式服务。  Discuz! X1.5.1 ...

    Discuz! X1.5.1 简体GBK R20111221.zip

    Discuz X1.5是康盛创想Comsenz推出的一个以社区为基础的专业建站平台,让论坛BBS、个人空间SNS、门户Portal、群组Group、应用开放平台Open Platform充分融合于一体,帮助网站实现一站式服务。  Discuz! X1.5.1 ...

    Discuz! X1.5.1 繁体UTF8 R20111221.zip

    Discuz X1.5是康盛创想Comsenz推出的一个以社区为基础的专业建站平台,让论坛BBS、个人空间SNS、门户Portal、群组Group、应用开放平台Open Platform充分融合于一体,帮助网站实现一站式服务。  Discuz! X1.5.1 ...

    Discuz! X1.5.1 简体UTF-8 R20111221.zip

    Discuz X1.5是康盛创想Comsenz推出的一个以社区为基础的专业建站平台,让论坛BBS、个人空间SNS、门户Portal、群组Group、应用开放平台Open Platform充分融合于一体,帮助网站实现一站式服务。  Discuz! X1.5.1 ...

    功能非常全面的一个论坛源码

    - 允许设置最多一次发帖可以同时提交的附件数量 - 对于旧版的图片上传附件,提供升级程序,可以产生新的缩略图(支持TIF PSD等图像文件) - 附件允许插入帖子内容排版,未插入的将自动添加 - 允许修改附件内容,...

    基于PHP的com内容管理系统UTF8源码.zip

    而“源码”则意味着包含的是程序的原始代码,允许用户深入理解系统的工作原理,甚至进行二次开发。 【标签】"PHP" 标签直接指出了这个系统的后端开发语言是PHP,这是一种广泛应用于服务器端脚本的开源编程语言,...

    易语言程序免安装版下载

    修改BUG:超级列表框在属性“整行选择”为真时,鼠标单击第一列右面也会导致第一列中的选择框被选中或取消选中。 21. 修改BUG:Sqlite3数据库支持库中“Sqlite数据库.取错误文本()”返回的文本是UTF-8编码(应是GB...

    2021-2022计算机二级等级考试试题及答案No.10067.docx

    - **问题描述**:使用电子邮件时,有时收到的邮件有古怪字符,即出现乱码的原因是什么? - **选项分析**: - A. 病毒 - B. 接收方操作系统有问题 - C. 发送方计算机故障 - D. 编码未统一 - **正确答案**:D. ...

    手机 pdf 阅读器

    每一次打开UMD时,如果存在UMD书签,则自动导入,为了节约内存,如果超过150个书签,打死都不加了,而且,也不允许用户自己添加(此规则对所有的历史同样有效,即一个历史中,不能保存超过150个书签) 阅读时,具有...

    PHP5+UTF8多文件上传类

    2. **支持多文件上传**: 类中提供了多文件上传的功能,即一次可以处理多个文件的上传请求,这对于网站管理者来说,可以大幅度提升处理文件的工作效率。 3. **MIME检测**: MIME(Multipurpose Internet Mail ...

    300个注册表优化修改文件

    4.不完全注册表恢复,XP和2000重起机器按F8进入,选择上1次正确配置F Office的亲密接触: 点击浏览该文件 改变Word文档日期的显示格式.reg 将Word插入对象的名称汉化.reg 设置Office的安装位置.reg 设置Word中的...

    微信通源码+wap手机版

    2014.12.04:(独家完美开发,欢迎测试)独创分享朋友圈和朋友返积分功能,后台可以设置返多少,一天可以返多少次,赠送积分记录后台清晰可见。积分可以搭配本地开发的大转盘和砸金蛋功能使用效果最好!同时兼容上下级...

Global site tag (gtag.js) - Google Analytics