这个问题花了好几个小时才解决掉。
CREATE TABLE `os_user`(
`user_id` INT AUTO_INCREMENT COMMENT "用户ID",
`user_number` INT NOT NULL COMMENT "用户编号",
`nick_name` VARCHAR(30) NOT NULL COMMENT "昵称" ,
PRIMARY KEY (`user_id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT="用户表";
eclipse中执行sql语句时,mysql出现了中文乱码。
但是查看文件的编码格式是utf-8.
数据表也是设置了utf-8的编码格式
ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT="用户表";
最后的解决办法:
在Mysql配置的URL需要加上:?characterEncoding=utf-8
如果还不行,需要设置数据库的默认编码
1.查看默认的编码格式:
mysql> show variables like “%char%”;
±-------------------------±--------------+
| Variable_name | Value |
±-------------------------±--------------+
| character_set_client | gbk |
| character_set_connection | gbk |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | gbk |
| character_set_server | utf8 |
| character_set_system | utf8 |
±-------------------------±------------+
注:以前2个来确定,可以使用set names utf8,set names gbk设置默认的编码格式;
执行SET NAMES utf8的效果等同于同时设定如下:
SET character_set_client=‘utf8’;
SET character_set_connection=‘utf8’;
SET character_set_results=‘utf8’;