中文字符如何处理,才能正确地存入数据库,而不是乱码?
想做个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 为帖子主题内容,中文。 存入数据库后成了乱码。
问题点数:100、回复次数:10Top
1 楼qinqinxiatiao(WWW·坑你·NET (我的鸡鸡呢))回复于 2006-03-14 15:46:59 得分 35
写一个filter,进行转码 设置成UTF-8。
数据库字符集设置成 uft8Top
2 楼lovemoreh(爱比恨多)回复于 2006-03-14 15:53:24 得分 0
能不能麻烦你说得更详细一些?呵呵,我没招啊。Top
3 楼imA(男的不会,会的不男)回复于 2006-03-14 16:08:37 得分 25
看一下你的数据库的编码方式,如果可以更改数据库的编码方式,就更改数据库的编码方式为中文Top
4 楼lovemoreh(爱比恨多)回复于 2006-03-14 16:23:28 得分 0
我用的微软的jdbc FOR SQL Server2000 连接的SQL Server2000。
我在其他软件中向数据库写入中文都是很正常的,是不是可以认为数据库是没问题的?Top
5 楼lovemoreh(爱比恨多)回复于 2006-03-14 16:53:50 得分 0
呵呵,这个问题应该是经常遇到的吧?各位都是怎么处理的?Top
6 楼pigengler(en)回复于 2006-03-14 17:00:12 得分 40
request接受到参数以后,转换一下中文格式就行了。
到论坛搜索一下中文,有很多类似的帖子。。。
要彻底解决,还是要用过滤器
Top
7 楼lovemoreh(爱比恨多)回复于 2006-03-15 14:27:15 得分 0
感谢各位的回答啊!!
在各位指点下,终于解决啦。
如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);
再次感谢回答!Top
8 楼lovemoreh(爱比恨多)回复于 2006-03-15 14:28:04 得分 0
还不知道filter为何物,还得继续学习。。。。。。。Top
9 楼polarman(北极人http://blog.csdn.net/polarman)回复于 2006-03-15 14:32:41 得分 0
先要跟踪你的代码,看看是在存入数据库前已经是乱码,还是存入数据库之后再变成乱码,还是从数据库取出来变成乱码,总之,这个问题很复杂!根据具体情况,参照楼上的解码方式,但不能硬套,要根据具体情况处理Top
10 楼guanzhuangtun(郝亮)回复于 2006-03-15 21:20:44 得分 0
字符转码用GBK或gb2312就行了!Top
相关问题
- jsp存入数据库中文字符变为乱码,怎么处理?谢先了!
- 着急问一个问题:[ä](就是a上面有两个点的)这样特殊字符存入数据库是乱码,如何解决?
- [JSP]数据库中的字符是乱码,why?
- 中文字符到数据库中就变成了乱码?
- 痛苦啊,按照书上的方法,在将数据存入数据库前,将数据转为“iso-8859-1”字符集的字符,为什么存入后还是乱码
- 怎样将含有特殊字符的动态字串存入数据库?
- 在JavaBean中,如何高效的将如下字符串存入数据库
- 字符串存入数据库之前该如何的处理(进者有分)
- 为什么数据库用了UTF8字符集后,中文还是乱码?
- 使用EntityBean将中文存入数据库时出现乱码,如何解决?




