乱码,烦死了,弄来弄去,就是乱七八糟,也曾整理过这些相关的数据,但是都没有全面总结,现在就全面总结一下.
C:\Program Files\MySQL\MySQL Server 5.0\bin 这是我使用的数据库版本
下面是我的数据库的编码配置,是通过很多命令修改的:
使用mysqlManager管理工具:
选中test2库之后,然后上面的选择utf8,下面的选择gb2312就可以了。
C:\Program Files\MySQL\MySQL Server 5.0\bin 这是我使用的数据库版本
下面是我的数据库的编码配置,是通过很多命令修改的:
SET character_set_client = gbk ;
SET character_set_connection = gbk ;
SET character_set_database = utf8 ;
SET character_set_results = gbk ;
SET character_set_server = utf8 ; 等这一些命令。。。。。。
SET NAMES 'gbk';
它相当于下面的三句指令:
SET character_set_client = gbk;
SET character_set_results = gbk;
SET character_set_connection = gbk;
修改后我的数据库编码表:
mysql> SHOW VARIABLES LIKE 'character%';
+--------------------------+---------------------------------------------------------+
| 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 | latin1 |
| character_set_system | utf8 |
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.0\share\charsets\ |
+--------------------------+---------------------------------------------------------+
然后是创建数据库:
CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
最后创建表:
CREATE TABLE `registeruser` (
`regId` int(11) NOT NULL auto_increment,
`account` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`sex` varchar(255) NOT NULL,
PRIMARY KEY (`regId`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
插入数据:
INSERT INTO `registeruser` (`regId`, `account`, `password`, `email`, `sex`) VALUES
(1, 'dennis', 'dennis', 'dedgdssss@126.com', '男'),
(2, '肚肚, 'dennis', 'dengsss@126.com', '女'); 使用mysqlManager管理工具:
选中test2库之后,然后上面的选择utf8,下面的选择gb2312就可以了。
本文详细介绍了如何通过配置MySQL字符集解决数据库中的乱码问题,包括设置不同的字符集参数、创建数据库及表时指定字符集,并给出了具体的SQL命令示例。
2927

被折叠的 条评论
为什么被折叠?



