• mysql 字符编码问题


    问题描述

    当数据库的编码非utf-8 时,此时插入数据为中文时,因为编码问题会报错无法写入数据。

    更改配置文件配置解决

    编辑配置文件

    [mysqld]
    character-set-server=utf8
    #collation-server=utf8_general_ci
    default-character-set = utf8
    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8
    [mysql.server]
    default-character-set = utf8
    [mysqld_safe]
    default-character-set = utf8

    重启mysql 数据库

    查看更改后效果

    mysql> show variables like '%char%';
    +--------------------------+---------------------------------------------------------+
    | Variable_name | Value |
    +--------------------------+---------------------------------------------------------+
    | character_set_client | utf8 |
    | character_set_connection | utf8 |
    | character_set_database | latin1 |
    | character_set_filesystem | binary |
    | character_set_results | utf8 |
    | character_set_server | latin1 |
    | character_set_system | utf8 |
    | character_sets_dir | C:Program FilesMySQLMySQL Server 5.7sharecharsets |
    +--------------------------+---------------------------------------------------------+

    注:character_set_database    必须为utf8 才可以。

    创建数据库时指定数据库的编码格式

    CREATE DATABASE mydb DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

    额外说明

    对于之前编码格式不是utf8时创建的数据库,此时再更改配置文件中的编码格式为utf8 则对之前的数据库不生效,而且数据库中有数据时更改容易造成数据错误。只能创建新的数据库指定编码格式,之后采用新数据库。

  • 相关阅读:
    gvim小操作
    gvim2笔记
    用JavaScript实现MD5,SHA1加密
    MYSQL性能优化(转)
    开源了,开放我的仿ext控件集
    个人js作品集,仿ext风格(改)
    sql查询 注意事项
    共轭矩阵
    wchar 转 int
    对象不能从 DBNull 转换为其他类型
  • 原文地址:https://www.cnblogs.com/fanggege/p/10407944.html
Copyright © 2020-2023  润新知