ssm数据库中文乱码问题

时间:2022-06-24 06:42:43

(1)详解Spring中的CharacterEncodingFilter--forceEncoding为true    <a href=" http://www.cnblogs.com/sunrunzhi/p/5803029.html">两者关系与区别

(2)从数据库获取数据时候就是乱码,要确保数据表与数据库中的编码一致,设置数据表的编码就是点击ssm数据库中文乱码问题文件,设计表,把鼠标放在属性上就可以ssm数据库中文乱码问题设置数据表编码。

设计数据库的编码ssm数据库中文乱码问题右击数据库名字,有一个数据库属性,设置属性一致。即可。如果还是获取数据库数据后是乱码,就来一个杀手锏,转储sql文件,把文件删编码全部设置成一样的,把原来的数据库删掉,下面是我的sql文件里面的内容,都设置好了一样的编码格式

DROP TABLE IF EXISTS `book`;
CREATE TABLE `book` (
  `bid` INT(11) NOT NULL AUTO_INCREMENT,
  `bname` VARCHAR(100) CHARACTER SET utf8 DEFAULT NULL,
  `author` VARCHAR(20) CHARACTER SET utf8 DEFAULT NULL,
  `image` VARCHAR(200) COLLATE utf8_bin DEFAULT NULL,
  `cid` INT(11) DEFAULT NULL,
  `price` DECIMAL(5,2) DEFAULT NULL,
  PRIMARY KEY (`bid`)
);

INSERT INTO `book` VALUES ('1', '世界装饰艺术', '袁隆平', 'img/art01.jpg', '3', '25.50');
INSERT INTO `book` VALUES ('2', '隶书实用字典', '杨小光', 'img/art02.jpg', '3', '19.20');
INSERT INTO `book` VALUES ('3', '齐白石小篆', '齐白石', 'img/art03.jpg', '3', '41.40');
INSERT INTO `book` VALUES ('4', '花灯', '花哥', 'img/art04.jpg', '3', '16.78');
INSERT INTO `book` VALUES ('5', '好性格会更受欢迎', '高品德', 'img/his01.jpg', '2', '38.00');
INSERT INTO `book` VALUES ('6', '格林童话', '格林', 'img/his02.jpg', '2', '0.00');
INSERT INTO `book` VALUES ('7', '笠翁对韵', '笠翁', 'img/his03.jpg', '2', '23.80');
INSERT INTO `book` VALUES ('8', '安徒生童话', '安徒生', 'img/his04.jpg', '2', '15.80');
INSERT INTO `book` VALUES ('9', 'javaEE7权威指南', '张三', 'img/java01.jpg', '1', '86.90');
INSERT INTO `book` VALUES ('10', 'springboot实战', '赵飞燕', 'img/java02.jpg', '1', '73.90');
INSERT INTO `book` VALUES ('11', '布局javaEE企业开发', '黑客大牛', 'img/java03.jpg', '1', '67.94');
INSERT INTO `book` VALUES ('12', 'javaEE教程', '菜鸟大叔', 'img/java04.jpg', '1', '31.60');


DROP TABLE IF EXISTS `category`;
CREATE TABLE `category` (
  `cid` INT(11) NOT NULL AUTO_INCREMENT,
  `cname` VARCHAR(100) NOT NULL,
  PRIMARY KEY (`cid`)
);

INSERT INTO `category` VALUES ('1', 'javase');
INSERT INTO `category` VALUES ('2', 'historybook');
INSERT INTO `category` VALUES ('3', 'artbook');

DROP TABLE IF EXISTS `orders`;
CREATE TABLE `orders` (
  `oid` INT(11) NOT NULL AUTO_INCREMENT,
  `ordertime` DATETIME DEFAULT NULL,
  `total` DECIMAL(10,0) DEFAULT NULL,
  `state` SMALLINT(1) DEFAULT NULL,
  `uid` INT(11) DEFAULT NULL,
  `address` VARCHAR(200) DEFAULT NULL,
  PRIMARY KEY (`oid`),
  KEY `FK_orders` (`uid`)
);

DROP TABLE IF EXISTS `orderitem`;
CREATE TABLE `orderitem` (
  `iid` INT(11) NOT NULL AUTO_INCREMENT,
  `count` INT(11) DEFAULT NULL,
  `subtotal` DECIMAL(10,0) DEFAULT NULL,
  `oid` INT(32) DEFAULT NULL,
  `bid` INT(32) DEFAULT NULL,
  PRIMARY KEY (`iid`)
);

DROP TABLE IF EXISTS `tb_user`;
CREATE TABLE `tb_user` (
  `uid` INT(11) NOT NULL AUTO_INCREMENT,
  `username` VARCHAR(50) NOT NULL,
  `password` VARCHAR(50) NOT NULL,
  `email` VARCHAR(50) NOT NULL,
  `code` CHAR(64) NOT NULL,
  `state` TINYINT(1) DEFAULT NULL,
  PRIMARY KEY (`uid`)
);
INSERT INTO `tb_user` VALUES ('1', 'wth', '123456', '123@123.com', '12', '0');

粘贴到图形界面的运行处,于是发现乱码问题解决了

ssm数据库中文乱码问题

ssm数据库中文乱码问题

(3)在servlet或者是contoller文件中要设置(详解可看http://blog.csdn.net/fancylovejava/article/details/7700683)

request.setCharacterEncoding("utf-8");

  response.setContentType("text/html;charset=utf-8");