为什么我使用UTF-8输入中文服务器还是返回?号和别的我看不懂的符号呢!

来源:百度知道 编辑:UC知道 时间:2024/07/12 14:39:56
我用IDE是eclipse也装了插件myeclipse,使用的服务器是tomcat,为什么下面的代码返回的中文是问号和乱码呢,请高手给解决一下,不胜感激!
package com.123.webproject2;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class LoginServlet extends HttpServlet {

/**
*
*/
private static final long serialVersionUID = -3556380850857363361L;
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" &l

首先需要确保返回的编码与页面的一致
再在
tomcat/conf/servelt.xml中修改

<Connector port="8099" ... URIEncoding=" gb2312 " >
在<Connector port="8099" >中设置
URIEncoding="utf-8"

因为在tomcat5.5中post及get请求是分开处理的; 过滤器设置的编码只能对post请求中参数起作用。而如果通过get方式发送请求,参数中的中文仍会乱码;对于get请求可通过配tomcat5.5。

你用的乱码转换, 要和JSP属性里面的一样, 右击JSP, 选择最后一个property. 里面有, 你可以里面改成和JSP页面的转换一样, 也可以把JSP页面的改成和里面一样。

添加response.setContentType("text/html;charset=utf-8");