ERROR 1366 (HY000): Incorrect string value: '\xE8\xB5\xB5\xE9\x9B\xB7' for column 'Sname' at row 1

news/2024/11/30 8:44:44/

问题描述:

我的操作步骤:

1、创建数据库test,语句:
     create database test;
2、创建Student表:
     create table Student(SId varchar(10),Sname varchar(10),Sage datetime,Ssex varchar(10));
3、插入数据:
     insert into Student values('01' , '赵雷' , '1990-01-01' , '男');
     insert into Student values('02' , '钱电' , '1990-12-21' , '男');

然后报错:
 >ERROR 1366 (HY000): Incorrect string value: '\xE8\xB5\xB5\xE9\x9B\xB7' for column 'Sname' at row 1   就是说Sname列的数据值的字符集不正确。

解决方案:分别查看数据库、表、报错列字段的字符集,错误就是由于三者不一致造成的,设置一致.

我们先查看一下Student数据表的字符集:
在mysql所在数据库输入命令行:show create table Student;
效果展示:
1323525-20190511182023747-419740295.png

可以发现,字段的字符集和数据表的字符集是不一致的,原因找到了!!
我们把字段的字符集改成utf-8,与数据表一致,命令:
     alter table Student change Sname Sname char(10) character set utf-8;
     alter table Student change Ssex Ssex char(10) character set utf-8;
现在执行第3步的insert into 命令就成功了。

最后总结:(提示:以下内容都需要首先进入Mysql客户端)

查看mysql的字符集(直接粘去用):show variables where Variable_name like '%char%';
查看某一个数据库字符集:show create database test;(注:test为数据库)
查看某一个数据表字符集:show create table Student;(注:Student为数据表)

修改mysql的字符集:

  • mysql> set character_set_client=utf8;
  • mysql> set character_set_connection=utf8;
  • mysql> set character_set_database=utf8;
  • mysql> set character_set_results=utf8;
  • mysql> set character_set_server=utf8;
  • mysql> set character_set_system=utf8;
  • mysql> set collation_connection=utf8;

修改数据库的字符集:
     alter database test character set utf8;
修改数据表的字符集:
      alter table Student character set utf8;
修改数据表字段的字符集:
     alter table Student change Sname Sname varchar(10) character set utf-8;

转载于:https://www.cnblogs.com/We612/p/10849556.html


http://www.ppmy.cn/news/726086.html

相关文章

mysql中新增数据报错Incorrect string value: ‘\\xE5\\xBF\\xB5\\xE6\\x88\\x90‘ for column ‘**‘ at row 1

原因:插入数据中包含了Emoji表情导致的。 解决方法:修改字段的字符集。 修改前: 修改后: utf8与utf8mb4的区别: UTF-8编码中,一个英文字符占用一个字节的存储空间,一个中文(含繁体…

SyntaxError: Non-UTF-8 code starting with ‘\xb5‘ in file XX but no encoding declared; see http...

Python运行结果报错: SyntaxError: Non-UTF-8 code starting with \xb5 in file D:\code\MarketFuture\main.py on line 13, but no encoding declared; see https://peps.python.org/pep-0263/ for details 解决方案: 首行添加: # -*- c…

java.sql.SQLException: Incorrect string value: ‘\xE6\xB5\x8B\xE8\xAF\x95...‘ for column ‘xxx‘

原因:sql表编码问题 解决办法 一、改变单个表属性 ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; 二、删除表从新创建 创建时候

解决python UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\xb5‘ in position 255: illegal mult

UnicodeEncodeError: gbk codec cant encode character \ufffd in position 373: illegal multibyte sequence 问题翻译: UnicodeEncodeError:“gbk”编解码器无法对位置373处的字符“\ufffd”进行编码:非法的多字节序列 报错代码告诉我们“gbk”的编…

ERROR 1366 (HY000): Incorrect string value: ‘\xE8\xB5\xB5\xE9\x9B\xB7‘ for column ‘s_name‘ at row 1

mysql字符集不符合要求而产生的错误 产生原因之一:创建表的时候没有指定字符集,创建完字段用alter table Student default charsetutf8;修改了字符集为utf8;但是对于已创建的字段不起作用; 用show create table table_name\G; 查…

BQ40Z50 调试

一:简介 BQ40Z50-R1的特点与功能: 1:这是一颗单芯片解决方案,集成电池:充放电保护,均衡,电量测量三大主要功能; 2:支持1,2,3,4节串…

mysql异常Incorrect string value: ‘\xE6\xB5\x8B\xE8\xAF\x95‘ for column ‘region_name‘

mysql异常Incorrect string value: \xE6\xB5\x8B\xE8\xAF\x95 for column region_name 参考文章: (1)mysql异常Incorrect string value: \xE6\xB5\x8B\xE8\xAF\x95 for column region_name (2)https://www.cnblogs.c…

【Mysql】1366 - Incorrect string value: ‘\xE9\x92\xB1\xE7\x94\xB5‘

插入数据时显示:1366 - Incorrect string value: \xE9\x92\xB1\xE7\x94\xB5 1、创建表的语句 1、创建表的语句 ##教师表 CREATE TABLE Teacher(t_id VARCHAR(20),t_name VARCHAR(20) NOT NULL DEFAULT ,PRIMARY KEY(t_id) );2、插入表的语句: ##教师表测…