在编码的时候,对于中文一直出现乱码,Servlet也不例外,向浏览器中输出中文就出现中文字符编码问题,气质一条信条为,你以什么方式或者什么编码写的数据就一定要高数浏览器以什么方式或者什么码表打开,否则会出现乱码,当时,告知浏览器以什么方式打开文件爱你或者数据也是同伙HTTP 相应头来写的,这个貌似说明相应头还是很重要的,下面把代码贴上看看,,,,,,这个是上下都使用UTF-8码表
package com.bird.ServletResponse; import java.io.IOException; import java.io.UnsupportedEncodingException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class ResponseDemo1 extends HttpServlet { /** * @use 使用response指定输出文字编码 */ private static final long serialVersionUID = 1L; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { test1(response); } //以什么方式写数据就应该以什么方式指定数据的读取方式或者码表 private void test1(HttpServletResponse response) throws IOException, UnsupportedEncodingException { response.setHeader("Content-type", "text/html;charset=UTF-8");//指定消息头以UTF-8码表读数据 String date = "中国"; response.getOutputStream().write(date.getBytes("UTF-8")); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } }