关闭

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

标签: jsp数据库mysqlcharacterservletstring
6157人阅读 评论(1) 收藏 举报
分类:

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


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:581355次
    • 积分:6669
    • 等级:
    • 排名:第3512名
    • 原创:130篇
    • 转载:78篇
    • 译文:0篇
    • 评论:29条
    最新评论