您的位置:首页 > 数据库 > MySQL

解决jsp插入mysql数据库中的数据出现乱码问题

2012-03-24 14:57 841 查看
就这个问题,我在baidu,google上搜了一下,最终的答案几乎都是一样的.转载如下:

jsp 页面用下面3句语句来保证是gbk 编码

<%@ page session="true" %>

<%@ page contentType="text/html;charset=gbk" %>

<%@ page pageEncoding="gbk"%>

<%request.setCharacterEncoding("gbk");%>

数据库连接用如下语句

String sConnStr ="jdbc:mysql://localhost:3306/test?user=michael&password=123456&useUnicode=true&characterEncoding=gbk" ;

并且在mysql的my.ini的内容如下

basedir=D:/mysql

#bind-address=127.0.0.1

datadir=D:/mysql-data/data

default_character_set=gbk

#language=D:/mysql/share/your language directory

#slow query log#=

#tmpdir#=

#port=3306

#set-variable=key_buffer=16M

[WinMySQLadmin]

Server=D:/mysql/bin/mysqld-nt.exe

user=michael

password=123

[client]

default_character_set=gbk

读jsp页面之间传递的参数在页面显示正常

在dos命令行下插入数据后,显示也正常

其中一条插入语句如下:

<jsp:useBean id="reg" scope="page" class="test.chatreg" />

String strSQL="insert into chatreg(username , password , email ,homepage )

values('" + regName + "', '" + regPassword +"' , '" + regEmail + "' , '" + regHomepage + "') ";

reg.executeQuery(strSQL);

我试着改了一下,结果中文问题解决了,可以在mysql数据库中插入中文了,个人体会:

最重要的是要 整个数据库的编码 和 数据库中表的编码 和 jsp页面的编码方式 要一样的

这样就不需要转换编码了,常用的有编码(对于中文),gb2312(字符少),gbk(字符多),utf-8......................................................

还有

<%@ page contentType="text/html;charset=gbk" %> 这句话每个.jsp文件中一定要一模一样,否则也会出错的~!

补充:这仅仅是解决jsp文件插入mysql乱码的问题的。。。。如果有用servlet的话。。。那就要另当别论了。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: