当前位置:编程学习 > JAVA >>

JSP+javaBean+mySql 中文乱码问题

我现在的问题是这样的:

jsp页面中,编码是这样设置的:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

javabean中的文件是这样设置的:
request.setCharacterEncoding("UTF-8");

数据库中相应表的字符集编码是设置成的:UTF-8 .

整个web工程的编码属性 也是设置成的UTF-8 .

现在 , jsp前台页面正常显示中文 ,传到javabean后台也可以正常显示中文 , 但是存储到数据库后 , 存储的内容就是乱码(数据库存储为verchar类型),从数据库中取出来以后还是乱码 。

请问各位大神们 ,如何解决这个乱码问题 ??
--------------------编程问答-------------------- 数据库是什么编码?show create table table_name;看下你的表是什么编码的 --------------------编程问答-------------------- 我用navicat 建的表 ,对应的表是 text , 设置的字符集是 gb2312 , 但是GBK , UTF-8也试过了 , 还是不行 。 不知道是不是 前台后台数据库三者的字符集必须用某种组合 ?请大神指教。 --------------------编程问答--------------------
引用 1 楼 fangmingshijie 的回复:
数据库是什么编码?show create table table_name;看下你的表是什么编码的



我用navicat 建的表 ,对应的表是 text , 设置的字符集是 gb2312 , 但是GBK , UTF-8也试过了 , 还是不行 。 不知道是不是 前台后台数据库三者的字符集必须用某种组合 ?请大神指教。 --------------------编程问答-------------------- debug下,看看传到数据库语句里面的是什么就可以了啊 --------------------编程问答-------------------- 插入数据库前先转换下,比如username = new String(username.getByte("utf-8"),"gb2312");//比如你数据库编码是gb2312。 --------------------编程问答-------------------- 创建数据库时,指定数据库编码。 --------------------编程问答--------------------
引用 6 楼 hucp2007 的回复:
创建数据库时,指定数据库编码。
支持楼上 --------------------编程问答-------------------- 这个问题应该是数据库的编码出问题了。改数据库编码需要改很多配置的,你可以在mysql中使用如下命令看看编码:
show variables like "%char%";
如果编码不都一样,使用set xxxx 编码的方式更改,如:
SET character_set_client='utf8';。
然后重启mysql。 --------------------编程问答-------------------- 这个问题前几天我在普科培训的时候老师刚讲过,他是你在装数据库的时候没有指定字符集造成的,没有办法,只能重装数据库。 --------------------编程问答--------------------
引用 6 楼 hucp2007 的回复:
创建数据库时,指定数据库编码。


刚才我查看了一下别人的工程 , 发现别人的工程里面 , 在刚建好数据库的表的时候 ,就已经指定编码是utf-8了 。但是重启mysql ,这样的话 ,jsp 是utf8 , javabean是utf8 ,数据库也是utf8 , 应该就行了吧 。我试试 。谢谢各位 。 --------------------编程问答--------------------
引用 9 楼 xiaofengyue828 的回复:
这个问题前几天我在普科培训的时候老师刚讲过,他是你在装数据库的时候没有指定字符集造成的,没有办法,只能重装数据库。


装数据库的时候 ,确实是有一个指定的字符集编码 ,但是如果当时指定的字符集是gbk 或者gb2312 , 那么当数据库的表定位utf8时 , 会不会兼容呢 ? --------------------编程问答--------------------
引用 4 楼 fangmingshijie 的回复:
debug下,看看传到数据库语句里面的是什么就可以了啊


myeclipse 么 ? --------------------编程问答-------------------- 数据库一般的默认编码设置为UTF-8,只要没有改动,不会出现乱码问题。 --------------------编程问答-------------------- charset=utf8 字符集
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,