MySQL中不能插入中文解决办法
来源:互联网 发布:ug8.0编程在线视频观看 编辑:程序博客网 时间:2024/05/17 09:31
参考:http://blog.sina.com.cn/s/blog_48f0f4da0100cktq.html
查看表的结构:
mysql> show create users;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'users
' at line 1
mysql> show create table users;
+-------+-----------------------------------------------------------------------
------------------------------------------------------------------------------+
| Table | Create Table
|
+-------+-----------------------------------------------------------------------
------------------------------------------------------------------------------+
| users | CREATE TABLE `users` (
`userid` int(11) default NULL,
`username` char(20) character set latin1 default NULL
) ENGINE=InnoDB DEFAULT CHARSET=gbk |
+-------+-----------------------------------------------------------------------
------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> desc users;
+----------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+----------+------+-----+---------+-------+
| userid | int(11) | YES | | NULL | |
| username | char(20) | YES | | NULL | |
+----------+----------+------+-----+---------+-------+
2 rows in set (0.02 sec)
这时向表中插入中文然后有错误。
mysql> insert into users values(88,'中文');
ERROR 1366 (HY000): Incorrect string value: '\xD6\xD0\xCE\xC4' for column 'usern
ame' at row 1
mysql> insert into users values(88,'中文');
ERROR 1366 (HY000): Incorrect string value: '\xD6\xD0\xCE\xC4' for column 'usern
ame' at row 1
还要更改users表的username的字符集。
mysql> alter table users modify username char(20) character set gbk;
ERROR 1366 (HY000): Incorrect string value: '\xC0\xEE\xCB\xC4' for column 'usern
ame' at row 1
mysql> alter table users modify username char(20) character set gbk;
ERROR 1366 (HY000): Incorrect string value: '\xC0\xEE\xCB\xC4' for column 'usern
ame' at row 1
因为表中已经有数据,所以更改username字符集的操作没有成功
清空users表中的数据
mysql> truncate table users;
Query OK, 3 rows affected (0.01 sec)
从新更改user表中username的字符集
mysql> alter table users modify username char(20) character set gbk;
Query OK, 0 rows affected (0.06 sec)
Records: 0 Duplicates: 0 Warnings: 0
这时再插入中文字符,插入成功。
mysql> insert into users values(88,'中文');
Query OK, 1 row affected (0.01 sec)
mysql> select * from users;
+--------+----------+
| userid | username |
+--------+----------+
| 88 | 中文 |
+--------+----------+
1 row in set (0.00 sec)
另一种方法:
进入cmd,进入mysql用show variables查看你的字符集,character_set_server是服务器编码.要改变服务器的编码必须重新启动服务器用mysqladmin –uroot shutdown关闭服务器,然后mysqld –C GBK启动服务器 –C是character_set_server的一个简写(可以也可以写成mysqld –character_set_server gbk)
- MySQL中不能插入中文解决办法
- mysql不能插入中文的解决办法
- php mysql不能插入中文的解决办法
- PHP-MySQL不能插入中文解决办法
- MYSQl不能插入中文的解决办法
- mysql数据库中不能插入中文
- Mysql数据库中不能插入中文
- Mysql数据库中不能插入中文
- MySql不能插入中文
- MYSQL 不能插入中文!!!
- 【MySql】MySql数据库中插入中文字符,显示乱码解决办法
- Mysql不能插入中文(彻底解决)
- 解决MySQL不能插入中文
- mysql不能插入中文数据
- mySQl数据库中不能插入中文的处理办法
- mySQl数据库中不能插入中文的处理办法
- Ubuntu16.04中MySQL之中文不能插入问题
- mysql插入中文乱码解决办法
- 虚拟机11启动不了
- Cv运动分析与对象跟踪(续)
- 潘,我想对你说。。。
- 员工管理系统数组版-要求
- 编程之路-服务端知识点纲要
- MySQL中不能插入中文解决办法
- Html入门学习总结
- Android Layout布局及属性
- Linux程序设计(curses使用示例)
- spring4泛型注入
- 黑马程序员----oc加强笔记----内存管理
- 稀疏编码自编码表达
- C/C++ struct/class/union内存对齐 [转]
- M进制字符串转为N进制字符串