jsp页面和mysql都是utf8的情况下,乱码问题无法解决?
我的jsp页面是utf8的,mysql5.2安装时也设置为utf8。
在jsp页面上向数据库中添加中文记录后,在数据库中查看是乱码,由jsp页面读取出来也是乱码。网上搜了一大堆解决办法,全部都是要我把jsp页面编码改成gbk或gb2312,或者把mysql改为gbk、gb2312,没有一个是针对两边都是utf8的解决办法。难道就没办法吗?望真正的高手指教一二……
[解决办法]
还要写一个SessionFilter,将request中提交内容的编码都改为UTF8
[解决办法]
写个过滤器,在WEB。XML中配置下就可以了
[解决办法]
连接池配置时:
jdbc:mysql://localhost:3306/test2?autoReconnect=true&useUnicode=true&characterEncoding=utf-8后面加上这几个参数
[解决办法]
up
[解决办法]
在文件开始加 <%@ page contentType= "text/html; charset=utf-8 "%> 这个试试,我用的环境跟你的这个差不多啊,都是使用utf-8,直接转换就可以。
[解决办法]
数据库编码要用GBK 或 GB2312
[解决办法]
乱码的问题
各个机器都不同
你要慢慢调试
[解决办法]
建立一个filter类,实现FILTER接口,加载该接口的方法
public class CharsetEncodingFilter implements Filter {
public void init(FilterConfig arg0) throws ServletException {
}
/* (non-Javadoc)
* @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
*/
public void doFilter(ServletRequest request, ServletResponse respone, FilterChain chain)throws IOException, ServletException {
request.setCharacterEncoding( "utf-8 ");
respone.setCharacterEncoding( "utf-8 ");
chain.doFilter(request,respone);
}
public void destroy() {
}
}
还要在你的WEB。XML里配制这个filter:
<filter>
<filter-name> CharsetEncodingFilter </filter-name>
<filter-class> javabean.com.CharsetEncodingFilter </filter-class> //你的包名.你的filter类名
</filter-class>
<filter-mapping>
<filter-name> CharsetEncodingFilter </filter-name>
<url-pattern> /* </url-pattern>
</filter-mapping>
这样,你就不用在每个页面里都加request.setCharacterEncoding( "utf-8 ");这句了,数据库也不在是乱麻。
另外,如果你使用简体中文,建议你使用GB2312,关于GB2312和UTF-8的区别,如果不知道,你可以去网上查。
[解决办法]
WEB。XML有点问题,应该是:
还要在你的WEB。XML里配制这个filter:
<filter>
<filter-name> CharsetEncodingFilter </filter-name>
<filter-class> javabean.com.CharsetEncodingFilter </filter-class> //你的包名.你的filter类名
</filter>
<filter-mapping>
<filter-name> CharsetEncodingFilter </filter-name>
<url-pattern> /* </url-pattern>
</filter-mapping>
[解决办法]
http://blog.csdn.net/qiudawei115/archive/2007/04/22/1574912.aspx
参考一下