日期:2014-05-18  浏览次数:20758 次

问个JSP乱码的问题,快搞死偶了。
偶用   MSSQL_sp4   +     tomcat5.028
jsp页面向数据库中添加数据,数据库中中文显示?????
希望遇到过此问题的朋友帮帮偶。谢谢了。

我尝试用过:
1.
-------------------------------------
<%@   page   contentType= "text/html;   charset=gb2312 "   language= "java "   %>

2.
-------------------------------------
<%
    request.setCharacterEncoding( "GB2312 ")   ;
%>

3.过滤器
-------------------------------------
package   cn.com.minority.filter   ;

import   java.io.*   ;
import   javax.servlet.*   ;
public   class   EncodingFilter   implements   Filter
{
public   void   init(FilterConfig   filterConfig)
                    throws   ServletException
{
}
public   void   doFilter(ServletRequest   request,
                                          ServletResponse   response,
                                          FilterChain   chain)
                            throws   IOException,
                                          ServletException
{
try
{
request.setCharacterEncoding( "GB2312 ")   ;
}
catch   (Exception   e)
{
}
chain.doFilter(request,response)   ;
}
public   void   destroy()
{
}
};
/*
    下面是在web.xml中配置。
    <filter>
<filter-name> EncodingFilter </filter-name>
<filter-class> cn.com.minority.filter.EncodingFilter </filter-class>
    </filter>
    <filter-mapping>
<filter-name> EncodingFilter </filter-name>
<url-pattern> /* </url-pattern>
    </filter-mapping>
*/

------解决方案--------------------
同样的问题没人解决!
------解决方案--------------------
和你的数据库字符集有关系的
------解决方案--------------------
将你的数据库也设置成支持GB2312的估计就行了
------解决方案--------------------
连接数据库的时候设置一个
private static String url= "jdbc:mysql://localhost/teach?user=root&password=stb&useUnicode=true&amp;characterEncoding=gb2312 ";
characterEncoding=gb2312设置一下,看可以不

mssql不用转码 转码反而容易出现乱码

------解决方案--------------------
楼上的楼主用的是 MS SQL Server!!!

过滤器上再加上,response.setCharacterEncoding( "gb2312 ");

第2个似乎没有必要了。

你可以在插入数据库前把这些数据输出到控制台上来看看是否是“??”。
------解决方案--------------------
以上这些方法只适用于 post 方式提交的数据,get 方式提交的需要更改 Tomcat 的 server.xml,其中有两个 Connector 元素,加上 URIEncoding 属性,值设为 "gb2312 "即可。
------解决方案--------------------