关于数据库插入中文乱码问题
第一步:到数据库my.ini中查看字符集设置
需要将下的默认编码 default-character-set=utf8 改为 default-character-set=gbk ,重新启动 MySQL 服务即可
第二步:客户端设置
set names gbk;
第三步:数据表的字符设置
3.1 查看数据库状态
status 指令
mysql> status;
--------------
mysql Ver 14.14 Distrib 5.6.12, for Win32 (x86)
Connection id: 25
Current database: information_schema
Current user: root@localhost
SSL: Not in use
Using delimiter: ;
Server version: 5.6.12 MySQL Community Server (GPL)
Protocol version: 10
Connection: localhost via TCP/IP
Server characterset: latin1
Db characterset: latin1
Client characterset: gbk
Conn. characterset: gbk
TCP port: 3306
Uptime: 8 hours 54 min 47 sec
我要使用的库test的字符集是latin1,该字符集不支持中文字符。
3.2 查看表引擎状态
mysql> show create table ttt;
+-------+-----------------------------------------------------------------------
-----------------------------------------------------------------------+
| Table | Create Table
|
+-------+-----------------------------------------------------------------------
-----------------------------------------------------------------------+
| ttt | CREATE TABLE `ttt` (
`id` int(11) NOT NULL,
`name` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+-------+-----------------------------------------------------------------------
-----------------------------------------------------------------------+
3.3修改表字符集
mysql> alter table ttt character set utf8;
mysql> alter table ttt character set gbk;
Query OK, 0 rows affected (0.10 sec)
Records: 0 Duplicates: 0 Warnings: 0
再次查看
mysql> show create table ttt;
+-------+-----------------------------------------------------------------------
--------------------------------------------------------------------------------
----------+
| Table | Create Table
|
+-------+-----------------------------------------------------------------------
--------------------------------------------------------------------------------
----------+
| ttt | CREATE TABLE `ttt` (
`id` int(11) NOT NULL,
`name` varchar(20) CHARACTER SET latin1 DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
3.4修改字段字符集:
mysql> alter table ttt modify name varchar(20) character set gbk;
第四步:插入数据。insert into Book values(“刘送杰”);