潜心学习 技术强身
BlogJava
::
首页
::
新随笔
::
联系
::
聚合
::
管理
::
14 随笔 :: 0 文章 :: 8 评论 :: 0 Trackbacks
<
2009年7月
>
日
一
二
三
四
五
六
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔分类
(14)
Flex/BlazeDS
(rss)
Scala
(rss)
Struts(2)
(rss)
学习笔记(6)
(rss)
学习问题(2)
(rss)
开发工具(2)
(rss)
术语区(1)
(rss)
编程规范(1)
(rss)
随笔档案
(14)
2009年8月 (2)
2009年7月 (12)
JAVA BLOG
为了生活
认真做事
搜索
最新评论
1. re: Java基础术语解释hfgjh
sfgghdfhj
--m.m.,
2. re: S2SH搭建的一个实例学习笔记(一)
eqwe
--ee
3. re: S2SH搭建的一个实例学习笔记(二)
已经好几年了,源码已经没了,不好意思啊@陈彬
--平涛
4. re: S2SH搭建的一个实例学习笔记(二)
求原码,邮箱kzbpp@163.com
--陈彬
5. re: Spring + Tomcat5/6 + ConnectionPool的配置
非常感谢!非常不错的帖子!顶了。。。。。。。
--caishenluli
阅读排行榜
1. S2SH搭建的一个实例学习笔记(一)(5617)
2. Spring + Tomcat5/6 + ConnectionPool的配置(1742)
3. S2SH搭建的一个实例学习笔记(三)(1657)
4. S2SH搭建的一个实例学习笔记(二)(1581)
5. 关于S2SH+mysql中文乱码问题(518)
评论排行榜
1. Spring + Tomcat5/6 + ConnectionPool的配置(4)
2. S2SH搭建的一个实例学习笔记(二)(2)
3. S2SH搭建的一个实例学习笔记(一)(1)
4. Java基础术语解释(1)
5. Java开发者需坚守的十大基本准则(转)(0)
关于S2SH+mysql中文乱码问题
主要是mysql数据库乱码问题,关于网页中的乱码(JSP页面乱码,action乱码)都好解决,只要页面的编码统一就可以了。我比较喜欢用UTF-8编码,不是很喜欢GBK或GB2312编码。
关于JSP页面及action只需添加一个EncodingFilter就可以了,代码如下:
1
package
cn.zhang.myznt.filter;
2
3
import
java.io.IOException;
4
5
import
javax.servlet.Filter;
6
import
javax.servlet.FilterChain;
7
import
javax.servlet.FilterConfig;
8
import
javax.servlet.ServletException;
9
import
javax.servlet.ServletRequest;
10
import
javax.servlet.ServletResponse;
11
12
public
class
EncodingFilter
implements
Filter
{
13
private
String charset
=
null
;
14
public
void
destroy()
{
15
16
}
17
18
public
void
doFilter(ServletRequest request, ServletResponse response,
19
FilterChain chain)
throws
IOException, ServletException
{
20
request.setCharacterEncoding(
this
.charset);
21
chain.doFilter(request, response);
22
23
}
24
25
public
void
init(FilterConfig arg0)
throws
ServletException
{
26
this
.charset
=
arg0.getInitParameter(
"
charset
"
);
27
}
28
29
}
30
在web.xml中注册这个Filter,注意他的位置必须放在需要调用action及jsp或其他页面声明之前
1
<
filter
>
2
<
filter-name
>
encoding
</
filter-name
>
3
<
filter-class
>
cn.zhang.myznt.filter.EncodingFilter
</
filter-class
>
4
<
init-param
>
5
<
param-name
>
charset
</
param-name
>
6
<
param-value
>
UTF-8
</
param-value
>
7
</
init-param
>
8
</
filter
>
9
<
filter-mapping
>
10
<
filter-name
>
encoding
</
filter-name
>
11
<
url-pattern
>
/*
</
url-pattern
>
12
</
filter-mapping
>
同时在连接mysql数据库的时候也要改为jdbc:mysql://localhost:3306/mldn?useUnicode=true
&
characterEncoding=utf-8 如果连接在java代码中使用,请使用&,如果是在xml中使用请写成
&
。
关于mysql的collation字符集和mysql的characterSet字符集问题,查了很多资料都说要设置成一样,我想那只是针对如果你选GBK作为数据库编码的时候所用,但如果选用UTF8作为数据库编码的时候就不一定正确了。
今天根据网上的资料将所有的characterSet设置成utf8(可用mysql> SHOW VARIABLES LIKE 'character_set_%';查看),一直在测试乱码问题解决没有。在测试过程发现传递的中文都是正确的,可就是在MySQL Client中查看的是乱码,所以继续找方法解决,但其实这个时候你插进去的中文已经是正常的了,只是在MySQL Client中显示是乱码。那么为什么会这样?MySQL Client设置成UTF8的时候中文不能正常显示,此时我们应该将charact_set_client :设置成gbk,这样就可以正常显示中文了。
可以在my.ini中
[mysql]
default-character-set=gbk
而下面的default-character-set=utf8,两个default-character-set的设置是不一样的。当然如果你选用gbk作为数据库编码,是需要设置成一样的。
posted on 2009-07-23 17:40
平涛
阅读(518)
评论(0)
编辑
收藏
所属分类:
学习问题
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
相关文章:
明明白白Unsupported major.minor version 49.0的错误(转)
关于S2SH+mysql中文乱码问题
Powered by:
BlogJava
Copyright © 平涛