-
关于JSP 、 Servlet中文乱码问题, 方法差不多试完了 还是不行- -!5
JSP页面1:
<table border="1">
<%@page import="com.bookmanagersys.bean.Operator"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"
+request.getServerPort()+path+"/";
List<Operator> list=(List<Operator>)request.getAttribute("operatorlist");
%>
<table>
<tr><th>用户名</th><th>密码</th><th>等级</th><th>操作</th></tr>
<%
for(int i=0;i<list.size();i++){
Operator operator=list.get(i);
%>
<tr>
<td><input type="text" name="name" value="<%=operator.getName()%>"></td>
<td><input type="text" name="password" value="<%=operator.getPassword()%>"></td>
<td><input type="text" name="level" value="<%=operator.getLevel()%>"></td>
<td><a href="./GetOneUserServlet?name=<%=operator.getName()%>">修改用户</a>
<a href="./DeleteUserServlet?name=<%=operator.getName()%>">删除用户</a></td>
</tr>
<%} %>
<tr><td></td><td colspan="2"><a href="addOperator.jsp">添加用户</a></td><td><br></td></tr>
</table>
xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxxxxxxxxxxxx
GetOneUserServlet:
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
//response.setCharacterEncoding("utf-8");
OperatorService operatorService=new OperatorService();
System.out.println(request.getParameter("name"));
Operator operator=operatorService.findOne(request.getParameter("name"));
//request.getSession().putValue("updateoperator", operator);
//request.getSession().setAttribute("updateoperator", operator);
if (operator==null) {
System.out.println("operator==null");
}else {
System.out.println("XXXXXXXXXXXXXXXXXXXXXXXXXXX");
}
request.setAttribute("updateoperator", operator);
request.getRequestDispatcher("updateOperator.jsp").forward(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}如果修改的是JSP页面1中name为中文的记录在这里面的到的是乱码
xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxx
JSP页面2:
<form name="form" action="" method="post" >
<table border="1">
<tr>
<td>用 户名:</td>
<td><input type="text" name="name" value="<%=operator.getName()%>"></td>
</tr>
<tr>
<td>密 码:</td>
<td><input type="text" name="password" value="<%=operator.getPassword()%>"></td>
</tr>
<tr>
<td><input type="submit" onclick="return update()" value="修改"></td>
<td><a href="./ShowOperatorServlet">取消</a></td>
</tr>
</table>
</form>
xxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
这个页面有时也会出现乱码- -!2012年7月14日 16:44
9个答案 按时间排序 按投票排序
-
采纳的答案
1. JSP 页面需要包含编码只定:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
如果是html页面, 需要添加metadate:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
2. 确保文件保存的格式是UTF-8 编码:
Eclipse 右键属性能看到
下来时GET和POST提交:
1. GET 提交需要配置tomcat/config/server.xml中的connector:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
2. POST 提交:
需要添加一个Encoding的Filter:public class EncodingFilter implements Filter { protected String encoding = "UTF-8"; public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setCharacterEncoding(encoding); response.setCharacterEncoding(encoding); chain.doFilter(request, response); } public void init(FilterConfig filterConfig) throws ServletException { this.encoding = filterConfig.getInitParameter("encoding"); } public void destroy() { encoding = null; } }
Web.xml配置:
<filter> <filter-name>SetCharacterEncoding</filter-name> <filter-class>cn.com.dayang.common.web.EncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>SetCharacterEncoding</filter-name> <url-pattern>*</url-pattern> </filter-mapping>
关于Eclipse输出乱码:
Win系统可能存在这个问题, 检查一下eclipse的console输出是不是采用的GBK编码.
2012年7月15日 18:11
-
楼主,首先保证你的编码要统一,如页面里,数据库里,所有编码都要设置成utf8.
其次,你修改JSP页面1中name为中文的记录,用的是get传值的方法,这样会导致乱码。如果你使用的是tomcat容器,可以在server.xml里Connector中设置URIEncoding="UTF-8",这样get传参时会使用utf8编码,或者,在servlet接收name值时转一下编码,如:new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8"),出现乱码无非那几种问题。2012年7月15日 10:39
-
jsp1 有
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
jsp2没有?
检查submit之后 servlet收到的是不是乱码2012年7月14日 17:59
相关推荐
下面将详细阐述servlet和jsp中文乱码的处理方式。 1. **理解编码基础** - **Unicode**:全球统一的字符编码标准,包含了世界上几乎所有的字符。 - **UTF-8**:最常用的Unicode编码方式,它以字节为单位进行编码,...
在IT领域,尤其是在Web开发中,遇到中文乱码问题是开发者们常见的挑战之一。尤其是在使用Java Server Pages(JSP)和...通过上述方法,可以有效地解决JSP和Servlet中的中文乱码问题,提高Web应用的用户体验和稳定性。
jsp 传参 servlet 接收中文乱码问题的解决方法 jsp 传参 servlet 接收中文乱码问题是一个经常遇到的问题,特别是在使用 Hibernate+Servlet 框架时。当我们在 jsp 页面传参到 servlet 时,中文字符经常会出现乱码...
### 解决JSP+Servlet开发中的中文乱码问题 #### 概述 在基于JSP(Java Server Pages)和Servlet技术的Java Web应用开发过程中,中文乱码问题一直是困扰开发者的一大难题。由于Java Web应用程序涉及多个组件之间的...
### Servlet + Tomcat 中文乱码问题解析及解决方案 #### 一、中文乱码问题概述 在使用Servlet和Tomcat进行Web开发时,经常会遇到中文乱码的问题。这主要是因为客户端(如浏览器)与服务器之间使用的字符编码不一致...
### Servlet及JSP解决中文乱码问题 #### 一、引言 在Web开发中,中文乱码问题一直是困扰开发者的一大难题。特别是在使用Java技术栈(如Servlet与JSP)进行开发时,如果处理不当,很容易出现中文字符显示乱码的情况...
### javaweb servlet(jsp)的乱码问题原理及解决 #### HTTP协议的基本理解与乱码问题背景 HTTP协议作为互联网应用中最为广泛使用的通信协议之一,它定义了客户端和服务端之间的交互规则。HTTP请求主要分为GET和...
解决 JSP 中文乱码问题 解决 JSP 中文乱码问题是一个很常见的问题,在 JSP 开发过程中,经常出现中文乱码的问题,可能一至困扰着大家。下面我们将详细讨论 JSP 中文乱码问题的成因和解决方法。 JSP 中文乱码问题的...
该方案的解决方法可以解决jsp+servlet+mysql开发中常见的中文乱码问题,确保中文字符的正确显示。 jsp+servlet+mysql乱码解决方案的实现步骤如下: 首先,在jsp页面中设置编码格式为utf-8,以确保页面中的中文字符...
jsp中文乱码问题详解 在jsp中文乱码问题中,乱码的出现是由于编码格式不一致所导致的。在jsp文件中,存在三个地方的编码格式:jsp文件的存储格式、解码格式和控制浏览器的解码方式。如果这三个地方的编码格式不一致...
本文将深入探讨如何解决Servlet页面显示乱码的问题,这对于初学者来说是至关重要的知识点。 首先,我们需要理解乱码的根源。在Web应用中,乱码通常出现在两个阶段:输入(如POST表单数据)和输出(如HTML页面的响应...
在开发Web应用时,尤其是使用Java技术栈如JSP、Servlet与MySQL数据库交互时,中文乱码问题常常困扰着开发者。这个问题的出现主要是由于字符编码不一致导致的,包括数据库编码、连接编码、页面编码等多个环节。下面...
知识点:Servlet输出JS乱码问题解析与解决方案 一、Servlet与JS输出背景 Servlet是Java Web应用中的核心组件,主要用于处理客户端发送的HTTP请求,并生成响应。在Web开发中,Servlet经常被用来处理业务逻辑,然后...
通过以上方法,我们可以有效地解决JSP中文乱码问题。在实践中,理解字符集的工作原理,以及其在不同环节中的应用,对于预防和解决乱码问题至关重要。希望这个总结能帮助到大家,减少在查找和调试这类问题上花费的...
在开发基于JSP和Servlet的Web应用时,中文乱码问题是一个常见的困扰许多开发者的难题。尤其是当JSP页面向Servlet传递中文参数时,如果不正确地处理,很容易出现乱码的情况,影响用户使用体验和数据准确性。下面,我...
### JSP中文乱码问题分析及处理方法 #### 一、问题根源剖析 JSP(Java Server Pages)作为Web开发中的一种技术,广泛应用于动态网页的生成。然而,在处理中文字符时,JSP经常会遇到“乱码”问题,即中文字符无法...
基于jsp-servlet的客户管理系统CRM基于jsp-servlet的客户管理系统CRM 基于jsp-servlet的客户管理系统CRM基于jsp-servlet的客户管理系统CRM 基于jsp-servlet的客户管理系统CRM基于jsp-servlet的客户管理系统CRM 基于...
本文将深入探讨Servlet和JSP中的乱码问题及其解决方法。 首先,我们需要理解字符编码的基础知识。在计算机中,字符编码是用来表示文本的方式,常见的有ASCII、GBK、UTF-8等。不同的编码格式可能导致相同字符的二...
### JSP Servlet 中的汉字编码问题详解 #### 一、问题背景 在计算机科学领域,尤其是在Web开发中,字符编码问题一直是开发者面临的一个常见难题。特别是在处理非英文字符时,如中文字符,很容易遇到编码不匹配导致...
Servlet容器在Servlet第一次被访问时,会调用Servlet的构造器和init方法,接着调用service方法处理请求,最后调用destroy方法销毁Servlet。 2. JSP的隐含对象:JSP隐含对象包括request、response、session、...