在向Mysql中添加中文数据时,报错(incorrect string value ) 字符转换不正确

插入语句:mysql>  insert into user1 (name,password,email,age) values ('zs',md5('123456'),'zs@sohu.com',30);

返回错误:ERROR 1366 (HY000): Incorrect string value: '\xE5\xBC\xA0\xE4\xB8\x89' for column 'name' at row 1

将插入语句中的中文改为英文后问题消失,顺利出入

插入语句:mysql>  insert into user1 (name,password,email,age) values ('赵六',md5('123456'),'zl@sohu.com',60);

这个问题,原因是UTF-8编码有可能是两个、三个、四个字节。而Mysql的utf8编码最多3个字节,遇到超过3个字节的的数据就插不进去。

在网上找到了解决办法

1.在Mysql的安装目录下有一个文件叫做my.ini。(如没有可以自己新建一个)
在其中添加两句:

[mysqld]
character-set-server=utf8mb4
[mysql]
default-character-set=utf8mb4

然后进行重启Mysql服务。

也可以用命令将数据库转换格式

alter database 数据库名  character set utf8mb4 collate utf8mb4_general_ci;

2.将已经建好的表也转换为utf8mb4格式

alter table 表名 convert to character set utf8mb4 collate utf8mb4_bin;

向mysql插入数据是出现Incorrect string value错误的更多相关文章

  1. node操作mysql插入数据异常,incorrect string value

    产生的原因 我在创建表的时候,并没有设定字符编码,所以,默认的字符编码是 latin1 在我插入数据的时候,我的一个字段name设定的是varchar(20) 其实,这时的编码就是 latin1 所以 ...

  2. 解决mysql插入数据时出现Incorrect string value: '\xF0\x9F...' for column 'name' at row 1的异常

    这个问题,原因是UTF-8编码有可能是两个.三个.四个字节.Emoji表情或者某些特殊字符是4个字节,而MySQL的utf8编码最多3个字节,所以数据插不进去. 我的解决方案是这样的 1.在mysql ...

  3. MySql 插入数据库报错 Incorrect string value: '\xF0\xA0\x86\xA2'

    今天从nginx日志分析搜索关键字,然后把关键字插入到Mysql数据库里,出现如下错误 SQL state [HY000]; error code [1366]; Incorrect string v ...

  4. 向 mysql 插入汉字时报错 Incorrect string value: '\xE6\x9B\xB9\xE5\x86\xAC...' for col....

    Incorrect string value: '\xE6\x9B\xB9\xE5\x86\xAC...' for column 'realname' at row 1 该情况一般是由数据库设计时的编 ...

  5. mysql保存数据提示1366 Incorrect string value: ‘\xF0\x9F\x98\x8A\xF0\x9F…’ 解决

    在保存数据时我们如果页面编辑与数据库字段编码不一样或字符集超出你了mysql数据库中的字符类型就有可能出一\\xF0\\x9F\\x98\\x8A\\xF0\\x9F提示了,下面我来简单的解决方法. ...

  6. php 解决MySQL插入数据出现 Incorrect string value: '\xF0\x9F\x92\x8BTi...'错误

    在项目中向MySQL插入数据时.发现数据插入不完整,通过调试,发现插入语句也没什么特殊的错误. 可是就是差不进去,于是就打开mysqli错误的调试 $ret = mysqli_query($this- ...

  7. Mysql插入数据里有中文字符出现Incorrect string value的错误

    问题:Mysql插入数据里有中文字符出现Incorrect string value的错误   描述:CMD里直接敲代码插入数据   提示的部分截取为:ERROR 1366 (HY000): Inco ...

  8. 在MySQL向表中插入中文时,出现:incorrect string value 错误

    在MySQL向表中插入中文时,出现:incorrect string value 错误,是由于字符集不支持中文.解决办法是将字符集改为GBK,或UTF-8.      一.修改数据库的默认字符集   ...

  9. mysql 插入数据失败防止自增长主键增长的方法

    mysql设置了自增长主键ID,插入失败的那个自增长ID也加一的,比如失败5个,下一个成功的不是在原来最后成功数据加1,而是直接变成加6了,失败次数一次就自动增长1了,能不能让失败的不增长的? 或者说 ...

  10. MySQL的Incorrect string value错误

    用以下SQL语句向表2中插入数据: insert into 表2 select * from 表1 结果出现Incorrect string value错误: 打开表2一看,里面全是问号: 后来才发现 ...

随机推荐

  1. 【论文笔记】UNet

    语义分割的U-Net网络结构Unet是2015年诞生的模型,它几乎是当前segmentation项目中应用最广的模型.Unet能从更少的训练图像中进行学习,当它在少于40张图的生物医学数据集上训练时, ...

  2. H5与原生APP调了交互方式

    APP中不支持position:fixed; 改成 position:absolute; 触发H5按钮跳转APP原生页,进入调取APP的名传自己的方法 <a href="javascr ...

  3. filter 和 map 的异同

    filter是满足条件的留下,是对原数组的过滤:map则是对原数组的加工,映射成一一映射的新数组 filter() Filter() 创建一个新数组,新数组中返回的值为经过检查指定数组中满足条件的所有 ...

  4. CCProxy网络代理小试牛刀

    CCProxy可以完成两项大的功能:代理共享上网和客户端代理权限管理.只要局域网内有一台机器能够上网,其他机器就可以通过这台机器上安装的CCProxy来代理共享上网,最大程度的减少了硬件费用和上网费用 ...

  5. centos7 安装MariaDB数据库

    1.添加 MariaDB yum源 #添加MariaDB.repo配置文件 vim /etc/yum.repos.d/MariaDB.repo #添加内容 [mariadb] name = Maria ...

  6. fastai fit_one_cycle AttributeError: 'function' object has no attribute 'parameters'

    初学fastai   fit_one_cycle语句报错指向614行, 即: return [p for p in m.parameters() if p.requires_grad] 在以前遇到这种 ...

  7. linus->查看文件及文件夹大小相关命令

    背景: 经常会遇到服务器服务突然停了,去服务器一看服务正常运行. 然后在排查服务器容量,发现100%使用. 那么记下来一些常用命令是有必要的. 相关命令: df -hl   查看占用情况. du -s ...

  8. 关于winform 调用本地html页面路径不正确问题

    //为了使网页能够与winform交互 将com的可访问性设置为真 [System.Security.Permissions.PermissionSet(System.Security.Permiss ...

  9. ubuntu系统的虚机 迁移到大厂的云服务器 后发现 实例内网一直都是原虚机的内网IP,

    ubuntu SMC迁移 后发现 实例内网一直都是原虚机的内网IPip a能看到现在的ECS内网以及原虚机的内网 但是ifconfig看只有原虚机的内网IP于是 尝试dhclient eth0重启内网 ...

  10. 如何将多个TXT合并成一个TXT,文件名称提取

    方法1:1.将所有需要合并的TXT整理到一个文件夹中,切记,TXT合并最好每个TXT内容头或尾留一行间距,因为合并是直接合并,不会保留间距. 2.使用Windows命令cmd,切换到文件所在文件夹 3 ...