zoukankan      html  css  js  c++  java
  • ERROR 1366 (HY000): Incorrect string value: 'xE8xB5xB5xE9x9BxB7' for column 'Sname' at row 1

    问题描述:

    我的操作步骤:

    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: 'xE8xB5xB5xE9x9BxB7' for column 'Sname' at row 1   就是说Sname列的数据值的字符集不正确。
    

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

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

    可以发现,字段的字符集和数据表的字符集是不一致的,原因找到了!!
    我们把字段的字符集改成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;

  • 相关阅读:
    Visual Studio Code 工具使用教程
    JS获取节点的兄弟,父级,子级元素
    动态加载js
    实用的文本和图片无缝滚动效果
    兼容各种浏览器的文字循环无缝滚动效果
    中文乱码
    js 循环json
    js中获取basePath
    json转换为map
    java des 加密/解密
  • 原文地址:https://www.cnblogs.com/We612/p/10849556.html
Copyright © 2011-2022 走看看