• Mysql 插入中文错误:Incorrect string value: 'xE7xA8x8BxE5xBAx8F...' for column 'course' at row 1


    Incorrect string value: 'xE7xA8x8BxE5xBAx8F...' for column 'course' at row 1

    出现这个错误的原因是,数据库的编码格式为latin1 而我要将utf8的中文插入到数据库中。

    一开始修改  修改数据库的编码

     

    1.数据库查看数据各字符编码:show variables like '%char%';

    2.查看文本文档字符编码是否和数据库字符编码一致(以utf8为例,必须保证一致性)。

    (插入中文到数据库)

    1.查看数据各字符编码:show variables like '%char%';

    2.执行set names gbk;把三个回话系统变量character_set_client、character_set_connection和character_set_results设置为给定字符集。

    3.如果数据库不是gbk编码,执行alter database mysqltestdb character set gbk;设置当前的数据库编码为gbk即可。

    -----------------------------------------------------------------------------------

    实现编码设置的两种方法:

    (1)动态设置

      创建数据库:

      CREATE DATABASE PyDB

      CHARACTER SET 'utf8'

      COLLATE 'utf8_general_ci';

      选择此数据库:

      USE PyDB;

      创建表:

      CREATE TABLE PyTable (

      username VARCHAR(10),

      useraddr VARCHAR(10)

      )ENGINE=InnoDB DEFAULT CHARSET=utf8;

    (2)改变默认编码

      在mysql下,先执行命令:SHOW variables LIKE '%char%';

      查看数据库默认编码是latin1。

      以root身份更改mysql的配置文件

      在/etc/my.cnf 或 /etc/mysql/my.cnf 添加以下指令并保存:

      [client]

      default-character-set = utf8

      [mysqld]

      default-storage-engine = INNODB

      character-set-server = utf8

      collation-server = utf8_general_ci

      然后重启mysql:service mysql restart

      再次查看:SHOW variables LIKE '%char%';

      可以看到编码已经是UTF8。

    -------------------------------------------------------

    或者

    https://blog.csdn.net/ch717828/article/details/41357431/

    -------------------------------------------------------

    CHARACTER SET 'utf8mb4'

    COLLATE 'utf8mb4_0900_ai_ci'

    navicat客户端也可以设置

  • 相关阅读:
    《七哥说道》第十八章:何处不风雨,套路说江湖
    《七哥说道》第十七章:北漂青年,人海茫茫
    《闲扯Redis四》List数据类型底层编码转换
    《闲扯Redis三》Redis五种数据类型之List型
    《闲扯Redis二》String数据类型之底层解析
    《闲扯Redis一》五种数据类型之String型
    Js解析Json数据获取元素JsonPath与深度
    《七哥说道》第十六章:程序员,江湖见
    Swagger2.9.2进入API界面报NumberFormatException异常
    绝顶高手必经之路【资源共享】
  • 原文地址:https://www.cnblogs.com/hightech/p/13673590.html
Copyright © 2020-2023  润新知