zoukankan      html  css  js  c++  java
  • 【mysql】Incorrect string value 中文乱码

    接口平台用户反馈一个问题。及执行测试计划后测试计划列表中并没有显示该执行的测试计划。发现又又又出现了mysql数据库字段长度限制的问题

     File "/app/httpRequest/controller/controller.py", line 121, in _execute_one_case
        series_case['case_type'])
    pymysql.err.DataError: (1406, "Data too long for column 'req_uri' at row 1")
    

    发现req_uri 字段长度为 varchar(5000) ,一怒之下直接修改成longtext 类型,搞定没有报错

    但是还没过几分钟,又上报了另外的异常

    Warning(1366, "Incorrect string value: '\xE6\x8E\xA5\xE5\x8F\xA3...' for column 'req_uri' at row 1")
    

    what?

    只能默默查看请求的参数数据,原来请求中有中文字符! uri中竟然有中文字符?这不是重点,重点是为什么变更成longtext 类型就会出现异常?

    text 数据类型呢?没有!

    讲道理这个异常错误是以为字符编码的问题。查看longtext 当前字符集编码是 latin1 ,修改成utf8 可以正常保存在数据库中!
    在这里插入图片描述

    text能够成功是什么原因?原来修改数据类型为text 时字符集为空没有任何设置,若为text类型,将字符集编码修改成 latin1 ,一样出现报错

    OK!将字符集修改成utf8 解决问题

  • 相关阅读:
    集合的概述
    mysql修改用户名密码
    CentOS7 安装Chrome的方法
    常用sql汇总
    Rabbitmq六大应用模式
    高可用RabbitMQ集群搭建
    docker-compose
    Haystack
    幂等性问题剖析
    用redis构建分布式锁
  • 原文地址:https://www.cnblogs.com/guanhuohuo/p/12533579.html
Copyright © 2011-2022 走看看