连接数据库经常会遇到中文乱码问题,一般来说创建数据库得时候设定utf8编码,然后连接数据库得时候加上编码设置就可以了。今天碰到一个奇怪得现象,因为我配置得数据库连接相关信息再properties文件里面。虽然在地址后面加了?useUnicode=true&characterEncoding=UTF-8这个,但是还是不得行。后来发现可能这样在xml配置文件里面获取不到,于是乎在xml中写成这样就行了<property name="jdbcUrl" value="jdbc:mysql:///db_spring?useUnicode=true&characterEncoding=UTF-8"></property>。上面是设置C3P0数据源的。总的来说就是连接数据库的编码信息应该直接写到xml里面,不要放到properties文件里面。
刚刚用swing测试的时候,发现上面不行,后缀必须这样:private String dbUrl="jdbc:mysql://localhost:3306/db_book?seUnicode=true&characterEncoding=UTF8";