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

就这个问题,我在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的话。。。那就要另当别论了。。。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值