Idea-Tomcat响应数据,中文显示?
两种解决办法
1、resp.setCharacterEncoding("utf-8");
// 指定输出到客户端的是编码格式
2、resp.setContentType("text/html;charset=UTF-8");
// 指定浏览器解析数据的时候,使用的编码格式
示例代码:
package MyServlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
public class MyServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String path = "F:\\IdeaProjects\\Servlet\\web\\WEB-INF\\classes\\MyServlet.html";
InputStreamReader isr = new InputStreamReader(new FileInputStream(new File(path)),"UTF-8");
BufferedReader br = new BufferedReader(isr);
// resp.setCharacterEncoding("utf-8"); // 指定输出到客户端的是编码格式
resp.setContentType("text/html;charset=UTF-8"); // 指定浏览器解析数据的时候,使用的编码格式
String tmp = null;
while ((tmp=br.readLine())!=null){
System.out.println(tmp);
resp.getWriter().write(tmp+"\n");
}
System.out.println("一个请求以响应。。。");
br.close();
isr.close();
}
}