在用以下方法之前,请先执行下面命令查看。

show variables like 'character%';  ——查看所有编码方式

show create table table_name;   ——查看某个表格的编码方式

status  ——查看

查看修改mysql编码方式
 
MySQL的默认编码是Latin1,不支持中文,要支持中午需要把数据库的默认编码修改为gbk或者utf8。 
 
1、需要以root用户身份登陆才可以查看数据库编码方式(以root用户身份登陆的命令为:>mysql -u root –p,之后两次输入root用户的密码),查看数据库的编码方式命令为: 
>show variables like 'character%'; 
+--------------------------+----------------------------+ 
| Variable_name | Value | 
+--------------------------+----------------------------+ 
| character_set_client | latin1 | 
| character_set_connection | latin1 | 
| character_set_database | latin1 | 
| character_set_filesystem | binary | 
| character_set_results | latin1 | 
| character_set_server | latin1 | 
| character_set_system | utf8 | 
| character_sets_dir | /usr/share/mysql/charsets/ | 
+--------------------------+----------------------------+ 
从以上信息可知数据库的编码为latin1,需要修改为gbk或者是utf8; 
其中,character_set_client为客户端编码方式;character_set_connection为建立连接使用的编码;character_set_database数据库的编码; 
character_set_results结果集的编码; 
character_set_server数据库服务器的编码; 
只要保证以上四个采用的编码方式一样,就不会出现乱码问题。 
另一个查看数据库编码的命令: 
>show variables like ‘collation%’; 

一、网上的解决方案很多,但是试了几个都没成功。能改的地方都改了,my.ini里两个地方[mysql]和[mysqld]都改成了gbk,又多此一举跑MySQLInstanceConfig.exe里也设置了默认字符集为gbk,还有在数据库里也使用了charset gbk来更改字符集,可无一例外中文还是插不进去。

最后在http://youshini.iteye.com/blog/1073053上又找到一个解决方案,在数据库里使用了alter table content modify author varchar(30) character set gbk;这句话之后成功插入了中文!心中那个鸡冻啊。

现在知道了,前面把my.ini或者在MySQLInstanceConfig.exe里改变了编码字符集之后只对以后创建的表起作用,对于以前创建的表要使用alter table content modify author varchar(30) character set gbk才可以插入中文,当然,嫌这样一个字段一个字段的修改太麻烦可以使用ALTER TABLE OLD_TABLE CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]直接对整个表操作。
。这里把问题及解决方案贴出方便后来人!个人总结出mysql数据库要正常插入中文需要三个地方字符集一致:

1、mysql的初始化字符集(my.ini中修改)

2、某个具体的database中通过charset gbk或者\c gbk修改

3、最后这个不是必须的,只是如果在中途改了以上两个字符集才需要在此修改。把表中的字段改成和上面两种一样的字符集:通过ALTER TABLE OLD_TABLE CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]修改

二、最后再附上一篇整体概述的设置mysql支持中文的文章,转于51cto.com

MySQL数据库默认编码已经是utf8了, default-character-set = utf8,可是向数据库中表中插入中文时,却老是出现 ....\xB5\xA5\xD1\xA1 for column...这样的错误,经过查阅网上类型的错误后,发现一个很奇妙的现象,接下来我们就来开始介绍。

1)、在安装数据库时就设定字符集编码为utf8的环境下

1.在当前字符集编码为:

1 Server characterset:    utf8

2

3 Db      characterset:    utf8

4

5 Client  characterset:    utf8

6

7 Conn.  characterset:    utf8

下创建数据库:

(1)插入中文数据,操作不能成功。

(2)修改字符集编码为:

8 Server characterset:    utf8

9

10 Db       characterset:   utf8

11

12 Client  characterset:    gbk

13

14 Conn.  characterset:    gbk

插入中文数据,显示正常。

2)、在安装数据库时就设定字符集编码为gbk的环境下

1.当前字符集编码是:

15 Server characterset:    gbk

16

17 Db      characterset:    gbk

18

19 Client  characterset:   gbk

20

21 Conn.  characterset:   gbk

下创建数据,插入中文数据,操作正常,显示正常。

2.当前字符集编码为utf8:

22 Server characterset:   gbk

23

24 Db      characterset:    utf8

25

26 Client  characterset:   utf8

27

28 Conn.  characterset:   utf8

3.当前字符集编码为utf8:

29 Server characterset:    gbk

30

31 Db      characterset:    gbk

32

33 Client  characterset:   utf8

34

35 Conn.  characterset:   utf8

插入中文数据,操作不能执行。

结论:要想能向数据库正常插入中文,必须满足以下条件:

1.要把字符集设定为能支持中文的gbk或则utf8;

2.把数据库的Client Characterset和Conn. Characterset的字符集都设定为gbk;

根据上面的提示 ,我更改了:

36 SET  character_set_client=gbk;

37

38 SET character_set_connection=gbk;

之后再尝试想数据库插入中文,这时没有出错,能插入可是查询出来是乱码。

最后再更改;

39 SET character_set_results=gbk;

这样之后,所有的问题都解决了,能正常插入也能正常显示了。(http://hi.baidu.com/vanadium362/item/ffa64caed7ee5eae29ce9d32

最后各种数据编码问题:http://bbs.csdn.net/topics/190115814

ERROR 1366 (HY000): Incorrect string value: '\xB3\xA4\xC9\xB3' for column的更多相关文章

  1. mysql 插入中文时出现ERROR 1366 (HY000): Incorrect string value: '\xC0\xEE\xCB\xC4' for column 'usern ame' at row 1

    1 环境: MySQL Server 6.0  命令行工具 2 问题 :  插入中文字符数据出现如下错误: ERROR 1366 (HY000): Incorrect string value: '\ ...

  2. ERROR 1366 (HY000): Incorrect string value: '\xD6\xD0\xCE\xC4' for column XXX at row 1

    本错误为:该列的插入格式有误 修改该表中该列的字符集为utf-8 网上办法: )不能插入中文解决办法: 向表中插入中文然后有错误. mysql> insert into users values ...

  3. mysql DOS中中文乱码 ERROR 1366 (HY000): Incorrect string value: '\xC4\xEA\xBC\xB6' for column 'xxx' at row 1

    问题:ERROR (HY000): Incorrect string value: 在DOS中插入或查询中文出现乱码 登入mysql,输入命令:show variables like '%char%' ...

  4. ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'name' at row 1

    ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'name'  at row 1   数据库字符集问 ...

  5. mysql insert中文乱码无法插入ERROR 1366 (HY000): Incorrect string value

    ERROR 1366 (HY000): Incorrect string value: '\xB1\xEA\xCC\xE2\xD5\xE2...' for column 'title' at row ...

  6. Linux MySQl 5.7.17 MySQL ERROR 1366(HY000):Incorrect string value 解决方法

    MySQL ERROR 1366(HY000):Incorrect string value,在往数据库中插入中文的时候会出现. 这也就是编码问题,网上大部分都是说设置下配置文件中的设置,而可悲的是在 ...

  7. Mysql插入中文时提示:ERROR 1366 (HY000): Incorrect string value: '\xE5\x8F\xB0\xE5\xBC\x8F...' fo

    Mysql插入数据时提示:ERROR 1366 (HY000): Incorrect string value: ‘\xE5\x8F\xB0\xE5\xBC\x8F…’ fo 分析如下: 首先通过语句 ...

  8. MySQL ERROR 1366(HY000) Incorrect string value

    有以下两张表: mysql> show tables; +---------------+ | Tables_in_old | +---------------+ | book | | pres ...

  9. ERROR 1366 (HY000): Incorrect string value: '\xE9\x83\x91\xE5\xB7\x9E' for column 'aa' at row 1 MySQL 字符集

    ERROR 1366 (HY000): Incorrect string value: '\xE9\x83\x91\xE5\xB7\x9E' for column 'aa' at row 1创建表之后 ...

  10. ERROR 1366 (HY000): Incorrect string value:MySQL数据库、表的字符集为GBK

    mysql> update userinfo set MEDIASOURCE = 'CS02-北京' where IMPORTNO = 'IMP201640613101206';ERROR 13 ...

随机推荐

  1. 使用pip安装第三方库报错记录

    今天在使用pycharm导入第三方库的时候,报了好多超时错误,还有标题中的找不到版本,应该是网络的原因,记录下解决的办法: raise ReadTimeoutError(self._pool, Non ...

  2. ES6 Set数据结构

    Set ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. const s = new Set(); // const声明一个只读的常量.一旦声明,常量的值就不能 ...

  3. CI公用模型

    <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); /** * SEO管理系统 -- 公用模型 ...

  4. Python 使用正则表达式验证密码必须包含大小写字母和数字

    校验密码是否合法的程序. 输入一个密码 1.长度5-10位 2.密码里面必须包含,大写字母.小写字母和数字 3.最多输入5次 ===================================== ...

  5. spark源码笔记

    1.国际化 如添加朋友Friends是英文,可以找着相关的类,并在国际化配置文件中添加key 在项目中全局搜索“Friends”,将得到的结果集全部展开,找到这两个文件: 在国际化配置文件spark_ ...

  6. 【Lintcode】017.Subsets

    题目: 题解: Solution 1 () class Solution { public: vector<vector<int> > subsets(vector<in ...

  7. unicode和utf-8互转

    1.1 ASCII码 我们知道, 在计算机内部, 所有的信息最终都表示为一个二进制的字符串. 每一个二进制位(bit)有0和1两种状态, 因此八个二进制位就可以组合出 256种状态, 这被称为一个字节 ...

  8. Elasticsearch官方安装

    Installationedit Elasticsearch requires at least Java 8. Specifically as of this writing, it is reco ...

  9. C#编译问题'System.Collections.Generic.IEnumerable' does not contain a definition for 'Where' and no extension method 'Where' accepting a first argument

    &apos;System.Collections.Generic.IEnumerable<string>&apos; does not contain a definiti ...

  10. zynq基础

    zynq交叉编译环境设置 OpenCV在Zedboard上的移植 ubuntu 下串口调试工具 minicom安装与配置