下面分别是JSP和标签处理程序的JAVA代码, 其中charset=UTF-8. 通过标签可以正常输出中文,但在JSP中通过out.write输出的中文则变为乱码.问题:
1. 为什么通过标签输出的是正常中文, 而在JSP用out.write输出的是乱码?
2. 如何在charset=UTF-8的情况下, 让JSP中out.write输出的是正常中文?
JSP文件代码如下:
<%@ page language="java"%>
<%@ page import="java.util.*"%>
<%@ page import="java.lang.*"%>
<%@ page contentType='text/html; charset=UTF-8' %> 
<%@ taglib uri="/WEB-INF/hello.tld" prefix="TestTag"%>
<html>
  <body>
    <TestTag:MyTag/> <!--这里通过标签可以正常输出中文-->
    </br>
    <%
    out.write("JSP中是不是乱码?");//输出的是乱码, 如何在charset=UTF-8时正常显示中文?
    %>
  </body>
</html>
标签处理的Java代码:
package org.test.fortag;import java.io.IOException;import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;public class Hello extends TagSupport { @Override
public int doStartTag() throws JspException {
String str = "标签中是不是乱码?" ;
JspWriter out = pageContext.getOut() ;
try {
out.println(str);
} catch (IOException e) {
e.printStackTrace();
}
return TagSupport.SKIP_BODY;
}}收下是运行时在IE中输出的结果:标签中是不是乱码? 
JSP���Dz�������?