| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1048 人关注过本帖
标题:今天刚研究JSP乱码问题,按照大家总结的经验一步步的做,但是始终解决不了。 ...
只看楼主 加入收藏
孤雁飘雪
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-6-23
收藏
得分:0 

还可以编写一个类函数
public class ISOtoGb2312
{
public static String convert(String str)
{
try
{
byte[] bytesStr=str.getBytes("ISO-8859-1");
return new String(bytesStr,"gb2312");
}
catch(Exception ex)
{
return str;
}
}
}
然后在jsp页面里面调用这个类函数就可以了!!


2006-07-13 15:49
Grace_TT
Rank: 1
等 级:新手上路
威 望:1
帖 子:324
专家分:0
注 册:2005-12-21
收藏
得分:0 
以下是引用神vLinux飘飘在2006-7-8 22:19:27的发言:
过滤器代码
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>



dispatcher 起了什么作用?

过滤器只能解决数据库的乱码呢,还是所有的乱码都能解决?

[此贴子已经被作者于2006-7-24 20:30:59编辑过]

2006-07-24 20:29
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
所有乱码一次性解决,因为乱码的根源在于WEB向应用程序传递中文数据的时候会产生乱码导致的。MYSQL的乱码可以通过连接MYSQL的URL解决,最好统一用UTF-8

淘宝杜琨
2006-07-24 20:35
快速回复:今天刚研究JSP乱码问题,按照大家总结的经验一步步的做,但是始终解决 ...
数据加载中...
 
   



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

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