单向服务器提交信息时,一般采用 x-www-form-urlencoded 的 MIME 格式对数 据进行编码。如果使用 get 方法,参数名称和参数值经编码后附加在 URL 后,在 Java 中称 作
查询串(query string) 。 在 Servlet 程序中,如果采用 ServletRequest 的方法 getParameter 取得参数值,在 Solaris 环 境下,对汉字却不能正确解码。因而无法正确检索数据库。 在 Java 1.2 的包——java.net 中提供了 URLEncode 和 URLDecode 类。类 URLEncode 提供了按 x-www-form-urlencoded 格式对给定串进行转换的方法。类 URLEncode 则提供了逆方法。 6.Common Mail 乱码问题 common mail 是一个小而方便的 mail 包,他实现了对 Java Mail 的封装,使用起来十分的方 便,但是我在使用他的时候发现,使用纯文本的内容发送,结果是乱码,代码如下: public class TestCommonMail { PrintWriter(new
public static void main(String[] args) throws EmailException, MessagingException { SimpleEmail email = new SimpleEmail(); email.setCharset("GB2312"); email.setHostName("smtp.163"); email.setSubject("test"); email.addTo("test@163"); email.setFrom("test@163"); email.setMsg("我
的测试"); email.setAuthentication("test", "test"); email.send(); } } 分析了一下 commons mail 的源码找到了原因。源码如下: public class SimpleEmail extends Email { public Email setMsg(String msg) throws EmailException, MessagingException { if (EmailUtils.isEmpty(msg)) { throw new EmailException("Invalid message supplied"); } setContent(msg, TEXT_PLAIN); return this; } } Email 代码片段: public void setContent(Object aObject, String aContentType) { this.content = aObject; if (EmailUtils.isEmpty(aContentType)) { this.contentType = null; } else