乱码原因:
项目,mysql链接,mysql数据库(程序,库,表)中某一项编码不一致造成的
项目
通过拦截器设置统一编码
可以通过spring的CharacterEncodingFilter设置
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
mysql链接
jdbc:mysql://127.0.0.1:3306/ptest?useUnicode=true&characterEncoding=utf8&autoReconnect=true&mysqlEncoding=utf8
mysql数据库方面
程序设置
my.ini
character-set-server=utf8
库设置
表设置
CREATE TABLE `demo` (
`id` varchar(32) COLLATE utf8_bin NOT NULL,
`name` varchar(20) COLLATE utf8_bin DEFAULT NULL,
`number` decimal(10,2) DEFAULT NULL,
`time` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;