-
java乱码20
问题依旧未解决,继续求各位大神帮忙,小弟无限感激
jsp:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/tld/extremecomponents.tld" prefix="ec" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title>测试页面</title>
<meta http-equiv="Content-Type" content="text/html; charset=GBK" /><link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/extremestyle.css" />
<script type="text/javascript" src="${pageContext.request.contextPath}/WEB-INF/extremecomponents.js"></script><script language="javaScript">
function add() {document.getElementById('name').value='';
}
function update(name) {
var ex = name;
document.getElementById('name').value = document.getElementById(ex+'name').value;
}
</script>
</head><body>
<ec:table
items="mex"
var="mexam"
rowsDisplayed="10"
action="${pageContext.request.contextPath}/mexamAction.do?method=view"
imagePath="${pageContext.request.contextPath}/images/table/*.gif"
title="考试任务列表"
sortable="true"
rowsDisplayed="5">
<ec:row><ec:column property="name" title="考试名称">
<input type="hidden" value='${mexam.examname }' name='${mexam.examid }name'>${mexam.examname }</ec:column></ec:row>
</ec:table>
</center>
<html:html>
<html:form action="mexamAction.do?method=submit" method="post"><font size='2'>名称</font><input type="text" name="name"/>
</html:form>
</html:html></body>
</html>web.xml:
<filter>
<filter-name>Encoding</filter-name>
<filter-class>com.yourcompany.struts.util.PageEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>PageEncodingFilter:
public class PageEncodingFilter implements Filter{
private String encoding = "GBK";
protected FilterConfig filterConfig;
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
//本过滤器默认编码是GBK,但也可以在web.xml配置文件里设置自己需要的编码
if(filterConfig.getInitParameter("encoding") != null)
encoding = filterConfig.getInitParameter("encoding");
}
public void doFilter(ServletRequest srequset, ServletResponse sresponse,
FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)srequset;
request.setCharacterEncoding(encoding);
filterChain.doFilter(srequset, sresponse);
}
public void destroy() {
this.encoding = null;
}}
action:
String name = new String(mexform.getName().getBytes("iso8859-1"),"GBK");
后台输出:name 是 ?? 一个中文字两个问号
问题补充:我也不愿意啊大神们,问题就一直卡在这。急死了
String name = mexform.getName();
出来已经是??
tomcat server已经改过
过滤器也加上
继续求2012年9月24日 10:44
10个答案 按时间排序 按投票排序
-
要么,你就在过滤器里设置编码,要么你就在action里面转码,建议使用utf-8编码方式,gbk不一定对中文完全解析。再查看你的页面提交方式,查看你的tomcat的server文件是否在请求里设置了对应的编码。使用debug查看你的编码,乱码问题,一般不难解决。
2012年9月25日 09:04
-
mexform.getName()中的mexform是什么,可以debug看看是什么吗
我常用的两种转码方式
String a=java.net.URLDecoder.decode('前台parma',"UTF-8");
前台js
var parma = encodeURIComponent("变量");后台接收时:
后台
String a=new String(parma.getBytes( "ISO8859_1"),"UTF-8");2012年9月24日 18:09
-
请注意提交方式是get还是post,,过滤器对post方式提交会检验字符。get方式,参数在请求头,只能在程序中活着修改tomcat
2012年9月24日 16:11
-
action:
String name = new String(mexform.getName().getBytes("iso8859-1"),"GBK");
后台输出:name 是 ?? 一个中文字两个问号
可能是你那句action的原因吧 iso8859-1<<=>>iso-8859-1?2012年9月24日 15:08
-
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="utf-8" %>
这两条属性都加上试试2012年9月24日 13:27
-
不用这么麻烦吧,直接在struts.xml加上
<constant name="struts.i18n.encoding" value="GBK" />就可以了2012年9月24日 10:50
-
又是你。。
1.过滤器
2.改tomcat编码格式 要统一 GBK
3.jsp <%@ page language="java" pageEncoding="GBK"%>
如果用了其中一种:
String name = mexform.getName();
在试试
2012年9月24日 10:49
相关推荐
Java 乱码问题一直是开发...总结来说,Java乱码问题需要从源头(文件编码)、编译过程、网络传输以及服务器处理等多个层面进行排查和设置。了解并掌握这些知识点,将有助于我们更好地预防和解决Java环境下的乱码问题。
本文将深入探讨Java乱码的根源,并提供一系列实用的解决方案,帮助开发者有效应对这一挑战。 ### Java乱码根源 Java乱码主要由编码不一致引起,具体来说,当数据在不同环境(如输入、存储、读取)中采用不同的字符...
解决java web开发中遇到的前后台传值乱码问题。
Java中文乱码问题是编程者在开发Java应用程序时经常遇到的问题,尤其是涉及到中文字符处理时。这些问题产生的根本原因在于Java内部采用UNICODE编码,而不同的操作系统和浏览器可能支持不同的编码格式,如Windows中文...
2. 网络传输中的乱码: 在HTTP请求或响应中,Java的Servlet API提供了设置编码的方式。例如,在`HttpServletResponse`中,可以使用`setContentType("text/html; charset=UTF-8")`设定响应的字符集。对于POST请求,...
JAVA 中文乱码解决问题 JAVA 中文乱码问题是开发过程中常见的问题之一,解决这个问题需要了解乱码产生的原因,然后对症下药。下面我们对容易产生乱码问题的场景进行分析,并提出解决方案。 1. 以 POST 方法提交的...
2. utf8 解决 JSP 中文乱码问题 在 JSP 中,可以使用 page 指令指定输出的编码方式为 UTF-8,例如: ```jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> ``` 这将...
java乱码解决方案,在使用eclipse时出现的乱码问题,帮助解决
java 乱码 转换 utf
2. **Java服务器端处理**: - 在Java中,当从URL获取参数时,`HttpServletRequest.getParameter()` 默认使用ISO-8859-1编码,这可能导致中文乱码。为了解决这个问题,我们需要在获取参数后手动将其转换为正确的字符...
2. **Java程序与其他媒介交互时产生的乱码问题**:这类问题更为常见,涉及到Java程序与数据库、文件、网络流等交互过程中字符和字节之间的转换。具体来说,当字符(char)和字节(byte)之间进行转换时,如果使用的编码...
在Java编程中,乱码问题是一个常见的困扰,尤其是在处理字符编码时。以下是一些关键的知识点,可以帮助理解和解决Java中的乱码问题。 首先,我们需要理解字符编码的基本概念。字符编码是用来表示文本的一种方式,...
### Java乱码问题详解与解决方案 #### 一、问题背景 在Java开发过程中,尤其是在处理中文字符时,经常遇到字符编码不一致导致的乱码问题。由于Java默认使用Unicode编码,而在中国大陆地区,常见的字符集为GB2312...
### Java获取乱码问题解析与解决方案 在Java应用开发过程中,字符编码问题一直是困扰开发者的一大难题,尤其是在处理HTTP请求中的中文或特殊字符时,经常会出现乱码现象。本文将详细介绍如何通过修改`server.xml`...
java aspose word 上传到服务器 导出的word 中文字体乱码 的问题 java aspose java aspose word 上传到服务器 导出的word 中文字体乱码 的问题 java aspose java aspose word 上传到服务器 导出的word 中文字体乱码 ...
Java 中文乱码问题是一个常见的编程困扰,尤其对于处理中文字符的Java程序而言。这个问题通常源于字符编码的不一致,即不同环节采用的字符编码标准不统一。本文将深入探讨这一问题,并提供相应的解决方案。 首先,...
在Java编程过程中,乱码问题是一个常见的困扰,尤其是在处理字符编码时。本篇文章将全面解析Java中的乱码处理方法,涵盖纯Java代码、Servlet、JSP以及EJB类的解决方案,帮助开发者有效解决这一问题。 首先,理解...
2. **文件编码与系统编码不匹配**:Java源文件的编码格式(通常是文件保存时使用的编码)与操作系统默认编码不一致时,如果没有进行正确的编码转换,会导致编译或运行时出现乱码。 3. **网络传输中的编码问题**:在...
Java开发乱码问题解决方法汇总 Java开发中乱码问题是非常常见的问题之一,而解决这些问题需要具备一定的技术知识和经验。在本文中,我们将总结一些常见的Java开发乱码问题解决方法,希望能够为读者提供帮助。 1. ...