zoukankan      html  css  js  c++  java
  • 关于mysql数据库无法录入中文的问题

      由于在安装了mysql数据库后没有及时的设置字符集就进行了创建数据库的操作,字符集的问题成为了一个很大的困扰,后来查询了无数的博客或者论文终于解决了这个让我难受了很久的问题,在解决这个问题前我们首先需要对字符集有一个认识。包括客户端字符集,服务器字符集,数据库字符集,数据表字符集和数据库字符集。

    一般情况下统一字符集就可以解决中文无法录入的问题,下面我讲一下我的解决方法,在进行mysql后通过(show variables like '%char%';)或者(show variables like 'character%)查看客户端,服务器和数据库的字符集

    其中character_set_client是客户端字符集,character_set_database是数据库字符集,character_set_server是服务器字符集。ps:character_set_client,character_set_connection,character_set_results这三项都是在服务器连接进来时完成设定的,我们可以通过 set names utf8同时修改以上的这三个字符集,不过 通常我们一般在my.ini修改,因为这样可以修改character_set_database等属性,在my.ini找到这一行(default-character-set=latin1),将字符集修改为utf8,然后找到找到这一行(character-set-server=latine1),将字符集修改为utf8,在设置成功后重启mysql的服务,再次查询就与我现在的查询结果相同了。

    之后是查询MySQL 数据表的字符集,语句是(show table 表名 from sqlstudy_db like '%countries%';)

    在最后面的(ENGINE=InnoDB DEFAULT CHARSET =utf)中可以看到当前字符集为utf8,(alter table Student default character set charater name ....)来修改表单的字符集。

    最后关于字段的字符集问题 通过(show full columns from Student;)可以查询当前的Student的字符集

    修改的方法

    (alter table Student change sno sname character set character_name ....)

    一般在通过设置这些后就可以正常的进行了。

    注意,在设置完后要重启mysql的服务哦

  • 相关阅读:
    QSetting介绍
    Qt读写三种文件,QSettings读ini配置文件,QJsonDocument读JSON文件,QDomDocument读xml文件
    __try __except与__try __finally的嵌套使用以及__finally的调用时机
    获取指定长度的随机字符串
    python获取指定长度的字符串
    手动输入验证码
    python获取时间戳
    headers的描述
    使用协程(gevent)实现请求
    识别简单验证码并进行提交
  • 原文地址:https://www.cnblogs.com/Shirou20000/p/7778713.html
Copyright © 2011-2022 走看看