java中的乱码

来源:百度知道 编辑:UC知道 时间:2024/05/31 19:50:48
我在jsp页面录入数据然后在控制台都能正常显示,但是将数据保存到数据库就出现乱码,请问下是什么原因?我用的ssh框架,编码处理上也用了过滤器,页面和数据库都用的UTF-8字符集
回5楼的朋友:我写了一个测试,直接向数据库插入有中文的记录就会出现乱码,我用的MyEclipse,是不是需要设置

在数据库的连接部分这样写:
jdbc:mysql://localhost:3306/数据库名?characterEncoding=utf-8

小问题啦!

1.在所有的页面中设置编码格式
2.在所有的 servlet 里面的 request 与 response 设置编码格式

以上不行就用下面的方法

写1个转化字符串的方法
方法内容如下:

byte[] bytes={};
String str=new String(bytes,"UTF-8"); (可以为:gbk gb2312-8859-1)
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(file),"UTF-8"));

具体怎么写就不用我教了吧?

以上如果还不行那就用最狠的1招!

过滤器!

在过滤器的服务方法里面把上面转换格式化的方法给写进来就OK了!

过滤器创建与设置与servlet相同!(web.xml中的配置代码与servlet都一样的改个名字就变成了过滤器)

简单的的弄就是创建servlet然后继承过滤器!然后写方法!

明白?

用spring的字符编码过滤器吧。
自己搜一下

如果录入和显示都是正常,而数据库是乱码,很明显是数据库的显示不是utf-8,如果你用的是mysql数据库,默认是latin编码,所以你把数据库编码改成utf-8就可以了。。记得给分啊

我感觉utf-8这字符集也不算太好,GBK,你可以试试,页面,以及响应都用GBK方式输出,要达到一致性