今天在mysql数据库中新建表遇到一个问题,那就是表格中某个字段的中文内容在控制台显示出现乱码。过程如下:
创建一个新的数据库xx
再创建一个表websites
DROP TABLE IF EXISTS `websites`;
CREATE TABLE `websites` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` char(20) NOT NULL DEFAULT '' COMMENT '站点名称',
`url` varchar(255) NOT NULL DEFAULT '',
`alexa` int(11) NOT NULL DEFAULT '0' COMMENT 'Alexa 排名',
`country` char(10) NOT NULL DEFAULT '' COMMENT '国家',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
然后插入数据
INSERT INTO `websites` VALUES ('1', 'Google', 'https://www.google.cm/', '1', 'USA'), ('2', '淘宝', 'https://www.taobao.com/', '13', 'CN'), ('3', '菜鸟教程', 'http://www.runoob.com/', '4689', 'CN'), ('4', '微博', 'http://weibo.com/', '20', 'CN'), ('5', 'Facebook', 'https://www.facebook.com/', '3', 'USA');
查询一下
这里中文只能显示一部分,(偶尔还会是如下情况):
让我们看看插入的数据是否也是这样
这里的解决方案如下:
1、查看一下当前的设置的编码
2、 将character_set_client 和character_set_results 设置为gbk格式即可
set character_set_client=gbk;
set character_set_results=gbk;
再次查询一下,问题解决
还有一种就是
set names gbk;