关于编码的问题

我们有 独立的门户系统 和管理系统。以前 门户和 管理系统 两边都是用的iso8859-1,门户这边一个form 提交到管理这边。
现在门户改版 全改成 utf-8了 ,中文的 用户名 登陆就出现问题了,试了很多在 管理这边转换编码的方式都不行,请大家处处主意。
[b]问题补充:[/b]
第二种
tomcat的server.xml中

这个显然没有法用,用了n久的系统 太庞大 这些哪里可以改哦。

使用的是tomcat5吗?是针对post请求吗?
如果上述都是的话,那么使用楼上的过滤器设置一下编码就可以了。
如果是tomcat5的get请求那么就只用改服务器的配置文件了。
如果是其他服务器如:weblogic、jboss啥的话还可以使用服务器自身的配置文件来设置请求的编码。

就那么几种方法 你一个个试试就是了

第一种
request.setCharacterEncoding("你的目标编码");

第二种
tomcat的server.xml中

注意其中的useBodyEncodingForURI="true"这句在默认情况下是没有的,自己加进去

第三种:

写几句代码
<%!

public String codeToString(String str){

//处理中文字符串的函数

String s=str;

try{

byte temp[ ]=s.getBytes("ISO-8859-1");

s=new String(temp);

return s;

}

catch(Exception e){

return s;

}

}

%>

试试用URLEncode的方法来做试试。

更多具体的解决方案与对策,可以看[url]http://playfish.iteye.com/blog/85900[/url]

以及
[url]http://playfish.iteye.com/blog/186293[/url]

希望对你有帮助。

[quote]
如果submit.jsp提交英文字符能正确显示,如果提交中文时就会出现乱码。原因:浏览器默认使用UTF-8编码方式来发送请求,而UTF- 8和 GB2312编码方式表示字符时不一样,这样就出现了不能识别字符。解决办法:通过request.seCharacterEncoding ("gb2312")对请求进行统一编码,就实现了中文的正常显示。修改后的process.jsp代码如下:
<%@ page contentType="text/html; charset=gb2312"%>
<%
request.seCharacterEncoding("gb2312");
%>


JSP的中文处理


<%=request.getParameter("name")%>

[/quote]

http://leonelwong.iteye.com/admin/blogs/311388
这是乱码处理集合,你看看对你有没有帮助

写个过滤器吧,就把你网站下的所有目录都过滤.

public class SetCharacterEncodingFilter implements Filter {

public void destroy() {
    // TODO Auto-generated method stub

}

public void doFilter(ServletRequest request, ServletResponse response,
        FilterChain chain) throws IOException, ServletException {
    request.setCharacterEncoding("utf-8");


    chain.doFilter(request, response);

}

public void init(FilterConfig arg0) throws ServletException {
    // TODO Auto-generated method stub

}