MySQL错误之Incorrect string value: '\xE7\x81\xAB\x..' 问题解决

举报
SHQ5785 发表于 2022/08/12 19:08:43 2022/08/12
【摘要】 ​     在实验过程中需要将输出参数写入数据库,在写的过程中执行到lab_dynamic_order.upd_upd()语句时出现了错误,自己起初还不明白到底是哪里出现了错误。尝试性求助度娘,网上有人说是因为输入中文字符的缘故。故自己将待写入的包含中文字的字符串复制到mysql中,保存时出现了Incorrect string value: '\xE7\x81\xAB\xE7\x8B\x90...

​     在实验过程中需要将输出参数写入数据库,在写的过程中执行到lab_dynamic_order.upd_upd()语句时出现了错误,自己起初还不明白到底是哪里出现了错误。尝试性求助度娘,网上有人说是因为输入中文字符的缘故。故自己将待写入的包含中文字的字符串复制到mysql中,保存时出现了Incorrect string value: '\xE7\x81\xAB\xE7\x8B\x90...' for column 'tout' at row 1的错误提示。接着又是一番搜索,解决方法如下:

      将相应的列改为utf8-utf8_general_ci即可。

 编辑

      处理后的结果如下

编辑

附---MySQL支持的数据类型

 MySQL 提供了8个基本的字符串类型,分别:CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM 各SET等多种字符串类型。

可以存储的范围从简单的一个字符到巨大的文本块或二进制字符串数据。

  字符串类型     字节大小         描述及存储需求

    CHAR         0-255字节          定长字符串

    VARCHAR      0-255字节          变长字符串

    TINYBLOB     0-255字节        不超过 255 个字符的二进制字符串

    TINYTEXT     0-255字节        短文本字符串

    BLOB         0-65535字节      二进制形式的长文本数据

    TEXT         0-65535字节      长文本数据

    MEDIUMBLOB   0-16 777 215字节 二进制形式的中等长度文本数据

    MEDIUMTEXT   0-16 777 215字节 中等长度文本数据

    LOGNGBLOB    0-4 294 967 295字节 二进制形式的极大文本数据

    LONGTEXT     0-4 294 967 295字节 极大文本数据

    VARBINARY(M)                   允许长度0-M个字节的定长字节符串,值的长度+1个字节

    BINARY(M)    M                 允许长度0-M个字节的定长字节符串

​​

CPU超负荷异常情况

问题

      项目部署阶段,提交订单时总是出现cpu超负荷工作情况,导致机器卡死,订单提交失败。通过任务管理器可见下图所示:

 

      通过任务管理器中进程信息(见下图)进行查看,可见正是由于项目运行的原因导致CPU超负荷工作。元凶究竟是谁?难道是因为输出的测试语句太多导致的,尝试减少测试输出语句。

 

追根溯源

      经查,是在进行提交订单即执行3002交易时发生的错误。再次运行查看到底是那一步造成的,难道是操作数据表的缘故?用事实说话。如下图所示在执行到操作订单主表lm_bill时,程序便停止运行了,此时CPU已达到100%!

      果然如此,执行到

SELECT * FROM lmapp.lm_addr where uid='U18353102068' AND addrid='1' limit 0,1000

      Sql语句时,此刻在数据库中查询结果为空!而程序在一直处于等待状态!可见,自己的业务逻辑出现了严重漏洞!

      捕获到以下错误:

      java.sql.SQLException: Incorrect string value: '\xA2\x97\xE7\xB2\x92' for column 'medname' at row 1

      原因是在网数据库中写数据时不知何时将特殊字符加进去了,以至于读表时出现了意想不到的异常。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。