关于连接数据库的乱码问题(小结)
学习了一段时间的Java,接触到了Java连接数据库,以及servlet连接数据库。当时在Java时碰到的一个问题,现在在连接servlet中又遇到了。所以就写一篇博客,以免日后自己忘记。
遇到的这个问题时,Java连接数据库时。我写的注册,插入语句也正常,在控制台输出的也正常。但是当我打开数据库后,出现了乱码。
如下图:
我查看了数据库的表的设计,显示的都是utf-8;当时不知道原因在哪里。百度了一些,也都说是改一下数据库。后来请教了班里的大神,才知道,并不是这样的。如果数据库里的都已经是utf-8了的话。那么还出现乱码的话,就需要在jdbc的末尾加一句话。characterEncoding=UTF-8
整句如下:url=jdbc:mysql://127.0.0.1:3306/warehouse?characterEncoding=UTF-8;
如此之后,便解决了Java连接数据库,控制台没有乱码而数据库乱码的问题。
servlet连接数据库的时候,出现了同样的问题,页面没有出现了乱码。但是数据库出现了乱码。由于对servlet的数据库还没有封装,我就直接加在了后面。
Connection conn=DriverManager.getConnection(
“jdbc:mysql://127.0.0.1:3306/warehouse?characterEncoding=utf-8”,
“root”,
“”);
这样,暂时解决了数据库里没有乱码的现象了,但是目前控制台会报一点错误,但是对程序运行没有产生影响。