解决mysql数据库乱码

来源:互联网 发布:胶南惠普大数据基地 编辑:程序博客网 时间:2024/05/16 06:19
讲讲要怎样才能解决MYSQL数据库乱码的问题好啦!!!同时写下来,以免日后忘了,又得重新查找。首先我是使用mysql-4.1.14版本。 1. 启动MySQLQueryBrowser,在里面输入        ALTER DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin,        将test数据库的编码设为utf8。 2. 修改表的编码:ALTER TABLE `category` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin           以上命令就是将一个表category的编码改为utf8 3. 修改字段的编码:直接在MySQLQueryBrowser里右击表,然后点编辑表,在里面修改或输入代码:        ALTER TABLE `test` CHANGE `dd` `dd` VARCHAR ( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL 我个人比较懒,所以我选用第一种方法。注意:在完成设置后要重新启动数据库,可在服务里面或MySQL Administrator-Servic Control里面关闭,在MySQLQueryBrowser右键点击任意数据库->Copy sql to clipborad->粘贴->发现DEFAULT CHARACTER SETutf8 ;则设置成功,至此乱码应该可以解决。如果还不行,可在MYSQL文件夹里面找到my.ini改里面的char为UTF8 4.在JSP页面修改charset即可,<%@ page contentType="text/html; charset=UTF-8" %>(这个本人还没试过,我是在Eclipse里面建个主类来调试的,应该没问题,不过在Eclipse里面那类要把该文件设为UTF-8,只需要右击,属性就可以看到)做到这里我的MYSQL已经没有乱码!! 5.在JSP连接数据库的语句中,private      String url="jdbc:mysql://localhost/"+DB_NAME+"?user="+LOGIN_NAME+"&password="+LOGIN_PASSWORD+"&characterEncoding=UTF-8";        //相应要看characterEncoding 6.JSP页面没有指定数据提交的编码,就会造成乱码:对于这种乱码的情况,只需在页面开头加上request.setCharacterEncoding("UTF-8");      指定提交的即可总结:先要判断JSP乱码是插入数据库之后乱码,还是JSP页面刚提交过来就乱码了,如果JSP刚接收上一页面的数据显示就乱码了,肯定是字符集不对,或者没有加request.setCharacterEncoding("UTF-8");其中1,2,3是数据库的原因
原创粉丝点击