开发一个项目,如果整个项目是GBK,GB2312的编码,在使用<a href="mailto:xxx@xxxx></a>进行发邮件的时候,不会有中文乱码的问题。
但是如果整个项目使用的是UTF-8的编码,在使用如上功能时,就会有中文乱码问题。
解决方法之一:在后台就把邮件需要的内容转换成GBK编码,用java.net.URLEncoder.encode("这里是需要转码的内容","GBK");
之二:也可以在jsp页面上直接转码,但是如果是用jsp表达式转码,可能会出现一个问题。比如
<%=java.net.URLEncoder.encode("这里是需要转码的内容","GBK");%>
以上代码可以转换内容,但是如果需要转换的内容,不能用EL表达式来获取。
如果用struts2做项目,页面内容基本上都是用${}来获取数据,
<%=java.net.URLEncoder.encode( ${xxx} ,"GBK");%>-----------这样是无法解析的。
碰到这样的情况的话,可以采用自己写个标签库来解决。