关于JDBC操作数据库中文问题
一、🌴可能出现的场景
我不知道你们有没有遇到这样的情况,使用JDBC模糊查询名字或者查询名字进行搜索,查询出来的结果是空的,服务器和编译器都没有报错,这种情况下真的很难想到会是编码的问题。我仍然记得我当时遇到这种情况,折磨了我好久,根本不会想到是编码问题,当然第二种情况还是很容易知道的。
①JDBC查询中文访问数据库时
查询结果出现以下,我当时一直被误导是查询的结果是空。后来是因为在网上查了各种资料才猜想是不是编码问题,查询英文名字正常,查询中文名字没有。
②JBDC插入中文到数据库时
这种情况不难发现是什么原因,因为数据库的表会出现?,我们自然而然会想到是编码的问题,从而解决问题。
二、🚀解决问题
解决方案很简单,直接在连接数据库驱动后面加上
&&useUnicode=true&characterEncoding=utf-8
url=jdbc:mysql://localhost:3306/educational_system?serverTimezone=UTC&&useUnicode=true&characterEncoding=utf-8