中文字符如何处理,才能正确地存入数据库,而不是乱码?

lovemoreh 2006-03-14 03:43:30
想做个BBS,结果,帖子的中文内容存入数据库时,成了乱码,应该如何正确处理呢?

我的程序片段如下:

String sql="insert into dbo.bbs_qst( userid, dt, cont) values(\'pgm\', \'2006-03-14 16:12\', \'" + ssubject +"\')";
Integer i_rt=stmt.executeUpdate(sql);

其中:变量ssubject 为帖子主题内容,中文。 存入数据库后成了乱码。

...全文
181 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
guanzhuangtun 2006-03-15
字符转码用GBK或gb2312就行了!
回复
polarman 2006-03-15
先要跟踪你的代码,看看是在存入数据库前已经是乱码,还是存入数据库之后再变成乱码,还是从数据库取出来变成乱码,总之,这个问题很复杂!根据具体情况,参照楼上的解码方式,但不能硬套,要根据具体情况处理
回复
lovemoreh 2006-03-15
还不知道filter为何物,还得继续学习。。。。。。。
回复
lovemoreh 2006-03-15
感谢各位的回答啊!!

在各位指点下,终于解决啦。

如pigengler(en) 兄所言,取得发帖内容后,将得到的字符转换了一下,汉字即能正常存入数据库了。语句片段如下:

String s_tmp = new String(ssubject.getBytes("ISO8859-1"),"GBK");

String sql="insert into dbo.bbs_qst( userid, dt, cont) values(\'pgm\', \'2006-03-14 16:12\', \'" + s_tmp +"\')";
Integer i_rt=stmt.executeUpdate(sql);

再次感谢回答!
回复
pigengler 2006-03-14
request接受到参数以后,转换一下中文格式就行了。
到论坛搜索一下中文,有很多类似的帖子。。。

要彻底解决,还是要用过滤器
回复
lovemoreh 2006-03-14
呵呵,这个问题应该是经常遇到的吧?各位都是怎么处理的?
回复
lovemoreh 2006-03-14
我用的微软的jdbc FOR SQL Server2000 连接的SQL Server2000。

我在其他软件中向数据库写入中文都是很正常的,是不是可以认为数据库是没问题的?
回复
imA 2006-03-14
看一下你的数据库的编码方式,如果可以更改数据库的编码方式,就更改数据库的编码方式为中文
回复
lovemoreh 2006-03-14
能不能麻烦你说得更详细一些?呵呵,我没招啊。
回复
qinqinxiatiao 2006-03-14
写一个filter,进行转码 设置成UTF-8。

数据库字符集设置成 uft8
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2006-03-14 03:43
社区公告
暂无公告