问个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&characterEncoding=gb2312 ";
characterEncoding=gb2312设置一下,看可以不
mssql不用转码 转码反而容易出现乱码
------解决方案--------------------楼上的楼主用的是 MS SQL Server!!!
过滤器上再加上,response.setCharacterEncoding( "gb2312 ");
第2个似乎没有必要了。
你可以在插入数据库前把这些数据输出到控制台上来看看是否是“??”。
------解决方案--------------------以上这些方法只适用于 post 方式提交的数据,get 方式提交的需要更改 Tomcat 的 server.xml,其中有两个 Connector 元素,加上 URIEncoding 属性,值设为 "gb2312 "即可。
------解决方案--------------------