关于Servlet的输出中文乱码问题

关于Servlet的输出中文乱码问题

最近在看一个java教程,跟着里面写了一段Servlet代码:

但是在访问这个Servlet页面的时候,中文变成了问号?了。

在网上查了各种资料。都是说response.setContentType()和response.setCharacterEncoding()两个方法的。怎么改都不行。

后来无意中才发现是调用顺序反了!!!

上面的这段代码,先获取了response的PrintWriter对象,这时候已经默认为ISO-8859-1编码了。在之后才调用setContentType来设置response的输出字符编码就根本不起作用了。

所以正确地顺序应该是在response.getWriter()之前,就应该先调用setCharacterEncoding()或者setContentType()方法来设置字符编码。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注