IDE环境是eclipse3.2.2+myeclipse5.5.1+tomcat5.5.2
创建一个myeclipse中的webproject,新建一个jsp页面。然后输入中文字符,启动tomcat服务器。ie显示老是乱码
研究了网上无数解决方案仍然无法解决。下面是我的具体做法,不知道哪里出问题了。请高手赐教。。不胜感激
jsp代码:<%@ page contentType="text/html;charset=utf-8" language="java" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html;charset=utf-8">
<TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD> <BODY>
中文测试
</BODY>
</HTML>运行tomcat依然乱码。
运用网上的方法在web.xml中加入如下代码<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> 然后运行tomcat还是乱码
更改web.xml中utf-8为gbk,更改jsp代码中charset=gbk,pageEncoding="gbk",meta中charset=gbk
再运行tomcat虽然还是乱码,当时查看源文件是不会乱码的。
在IE中编码->更改为utf-8就不会乱码,重新刷新还是乱码。
研究一整天了都没办法解决,求救中有改成功的朋友告诉我下谢谢了。。
创建一个myeclipse中的webproject,新建一个jsp页面。然后输入中文字符,启动tomcat服务器。ie显示老是乱码
研究了网上无数解决方案仍然无法解决。下面是我的具体做法,不知道哪里出问题了。请高手赐教。。不胜感激
jsp代码:<%@ page contentType="text/html;charset=utf-8" language="java" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html;charset=utf-8">
<TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD> <BODY>
中文测试
</BODY>
</HTML>运行tomcat依然乱码。
运用网上的方法在web.xml中加入如下代码<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> 然后运行tomcat还是乱码
更改web.xml中utf-8为gbk,更改jsp代码中charset=gbk,pageEncoding="gbk",meta中charset=gbk
再运行tomcat虽然还是乱码,当时查看源文件是不会乱码的。
在IE中编码->更改为utf-8就不会乱码,重新刷新还是乱码。
研究一整天了都没办法解决,求救中有改成功的朋友告诉我下谢谢了。。
解决方案 »
- 关于Java应用程序获得当前Jar文件路径的问题
- String字符串替换/截取
- 类型为text的字段为什么用HQL获取会报异常,org.hibernate.exception.GenericJDBCException:could not execute query
- hql问题
- 网站后台如何做
- JSF 使用h:commandLink 页面提示frontForm:_idcl' 不是对象
- 高分求助:apache tomcat mod_jk 异常问题,在线等。。。
- 請高人指路
- struts问题:如何实现修改功能?
- localhome ,和home,remotehome的区别,各自优势?
- 求教设置了了jsp页面html的编码格式为何无效了?
- page session request application特点是什么?
如:<%requset.setCharacterEncoding("GBK")%;>
其他编码方式,网页->鼠标右击->编码->其他
package com.accp.filter;import java.io.IOException;import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;public class MyFilter implements Filter{ public void destroy() {
} public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) throws IOException, ServletException {
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");
filterChain.doFilter(request, response);
} public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}}然后在web.xml中进行配置:
<filter>
<filter-name>myFilter</filter-name>
<filter-class>com.accp.filter.MyFilter</filter-class> //找到过滤器所在位置
</filter>
<filter-mapping>
<filter-name>myFilter</filter-name>
<url-pattern>/*</url-pattern> //过滤所有网页
</filter-mapping>
package filters;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.UnavailableException;
public class SetCharacterEncodingFilter implements Filter {
protected String encoding = null; protected FilterConfig filterConfig = null;
protected boolean ignore = true; public void destroy() { this.encoding = null;
this.filterConfig = null; } public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain)
throws IOException, ServletException { // Conditionally select and set the character encoding to be used
if (ignore || (request.getCharacterEncoding() == null)) {
String encoding = selectEncoding(request);
if (encoding != null)
request.setCharacterEncoding(encoding);
} // Pass control on to the next filter
chain.doFilter(request, response); } public void init(FilterConfig filterConfig) throws ServletException { this.filterConfig = filterConfig;
this.encoding = filterConfig.getInitParameter("encoding");
String value = filterConfig.getInitParameter("ignore");
if (value == null)
this.ignore = true;
else if (value.equalsIgnoreCase("true"))
this.ignore = true;
else if (value.equalsIgnoreCase("yes"))
this.ignore = true;
else
this.ignore = false; } protected String selectEncoding(ServletRequest request) { return (this.encoding); }
}
尝试了无数方法,都没有解决问题。
刚刚我换了一个tomcat5.5.20版本。没做什么修改,使用的是UTF-8编码。
一调试就成功了。中文不在乱码,烦恼不在了。呵呵。谢谢各位了。。