| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1048 人关注过本帖
标题:今天刚研究JSP乱码问题,按照大家总结的经验一步步的做,但是始终解决不了。 ...
只看楼主 加入收藏
Grace_TT
Rank: 1
等 级:新手上路
威 望:1
帖 子:324
专家分:0
注 册:2005-12-21
收藏
 问题点数:0 回复次数:12 
今天刚研究JSP乱码问题,按照大家总结的经验一步步的做,但是始终解决不了。
我是在MyEclipse+Eclipse+tomcat5.0 中写的程序,
在一个.jsp中添加了:<%@ page contentType="text/html; charset=GBK" pageEncoding="GBK"%>
和:<%request.setCharacterEncoding("GB2312");%>
然后我保存文件,在保存的过程中,MyEclipse就会询问我:The encoding (ISO-8859-1)cannot convert some characters(such as the one in position 567).Press 'OK' to save anyway(and some characters will be convert '?' in the saved file),or press 'cansel' to return to the editor.

我只能点击OK。然后部署它,可是这个.jsp文件在Tomcat下里面的中文全都是乱码了,我用IE执行它,永远都显示的是乱码。

这要怎么做呢,难道你们都不用MyEclipse+Eclipse+tomcat5.0来编写.jsp吗?
搜索更多相关主题的帖子: JSP 乱码 经验 研究 
2006-06-29 18:12
可可℃乐
Rank: 2
等 级:新手上路
威 望:3
帖 子:1054
专家分:0
注 册:2006-5-9
收藏
得分:0 
在写入数据库之前对来自表单的信息做字符集的转换。
String wordName=new String(request.getParameter("wordName").getBytes("iso-8859-1"),"gb2312") ;
你试试这样行不行。

[url=http://www.]网页设计教程[/url]
2006-06-30 09:34
Grace_TT
Rank: 1
等 级:新手上路
威 望:1
帖 子:324
专家分:0
注 册:2005-12-21
收藏
得分:0 
谢谢你呀,
不过要一个一个的实现呀,那不累死了!
2006-06-30 09:47
xiao_2008
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2006-4-22
收藏
得分:0 
加个过滤器

看动画片
2006-07-05 21:29
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
自从有了过滤器,我还真没把数据库的乱码当一回事

淘宝杜琨
2006-07-05 23:17
水影月圆
Rank: 4
等 级:贵宾
威 望:11
帖 子:738
专家分:0
注 册:2005-8-2
收藏
得分:0 
什么过滤器
乱码问题怎么解决?每次显示都是????? 难看死了!

子非鱼,安知鱼之江湖?子非我,安知我之功夫 http://20681.
2006-07-08 17:10
孤雁飘雪
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-6-23
收藏
得分:0 
<%@page language="java" contentType="text/html;charset=GB2312"%>

直接写这个就可以了!!!

2006-07-08 21:04
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
过滤器代码
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 SetEncodingFilter
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 {
if (ignore || (request.getCharacterEncoding() == null)) {
request.setCharacterEncoding(selectEncoding(request));
}
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") || value.equalsIgnoreCase("yes"))
this.ignore = true;
else
this.ignore = false;
}


protected String selectEncoding(ServletRequest request) {
return (this.encoding);
}

public FilterConfig getFilterConfig() {
return filterConfig;
}

public void setFilterConfig(FilterConfig filterConfig) {
this.filterConfig = filterConfig;
}

}



web.xml关于过滤器的配置
<filter>
<filter-name>SetEncodingFilter</filter-name>
<filter-class>enova.util.SetEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>SetEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
<dispatcher>ERROR</dispatcher>
</filter-mapping>

[此贴子已经被作者于2006-7-8 22:22:59编辑过]


淘宝杜琨
2006-07-08 22:19
gady100
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2006-7-7
收藏
得分:0 
,学习中啊

欢迎jsp高手加入,网页交流QQ群:9272670 我是新手,新手们,共同努力!
2006-07-10 17:16
球球
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:1146
专家分:265
注 册:2005-11-28
收藏
得分:0 
加入:
request.setCharacterEncoding("gb2312");
response.setCharacterEncoding("gb2312");
试试,我这样可以。

好累
2006-07-11 13:37
快速回复:今天刚研究JSP乱码问题,按照大家总结的经验一步步的做,但是始终解决 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.078129 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved