MySQL插入中文报错[Err] 1366 - Incorrect string value ‘xE9xA9xACxE5x8FxAF

MySQL插入中文报错[Err] 1366 - Incorrect string value: ‘\xE9\xA9\xAC\xE5\x8F\xAF…’ for column ‘tel’ at row 1

  • 首先:插入中文出错,英文正常,肯定是字符编码集导致的问题

  • 查看需要修改的表字段的编码集信息

    -- 命令:show create tables 表名;
    mysql> show create table stu;
    

    可以看到下图,数据表编码集是utf8,但是插入的字段 编码集为latin1

在这里插入图片描述

  • 处理方法:修改对应字段的编码集类型

    • 方法一命令:

      -- 语法 : alter table 表名 change 原字段名  新字段名 字段类型 character set utf8 字段属性;
      alter table `stu` change `name` `name` varchar(64) character set utf8 not null ;
      
    • 方法二命令

      -- 语法 : alter table 表名 modify 字段名 字段类型 character set utf8 字段属性;
      alter table `stu` modify `name` varchar(64) character set utf8 not null ;
      

      修改完成后可以正常在相应字段插入中文类型的数据

其它编码集修改操作

  • 修改数据表的字符编码集
-- 语法: alter table 表名 charset = '字符编码集类型';
alter table `stu` charset = 'utf8';
  • 数据库的字符编码集修改

    • 先进入数据库安装文件下,找到 bin 目录同级文件 my.ini

    • 将 my.ini 的 latin1 全部替换成 utf8

    • 重启mysql服务,使用 \s 命令查看。

    • 未修改完成可使用命令

      -- 语法: alter database 库名 character set utf8;
      alter database `stu` character set utf8;
      
  • 数据库所有字符编码集,尽量保持 编码集类型一致,否则可能会出现编码转换乱码问题。

    
    
    
    
  • 数据库所有字符编码集,尽量保持 编码集类型一致,否则可能会出现编码转换乱码问题。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值