MySQL数据库解压缩版(免安装版或zip版)无法输入中文,以及与Navicat中文显示一致的问题

      首先明确此问题属于编码方式设置问题。 MySQL的默认编码是Latin1,不支持中文,要支持中文需要把编码修改为gbk或者utf8。


character_set_client为客户端编码方式;
character_set_connection为建立连接使用的编码;        
character_set_database数据库的编码;
character_set_results结果集的编码;
character_set_server数据库服务器的编码;
只要保证以上采用的编码方式一样,就不会出现乱码问题(事实证明character_set_database的编码格式不影响输入 
当我们把zip文件格式解压到指定目录后,并且完成基本环境配置后,打开mysql 5.6.24会发现名为【my-default.ini】的文件。我们用记事本打开该文件会发现并没有【default-character-set = xxx】或者【character_set_server=xxx】,怎么回事呢?网上给出的许多方法都是直接修改这句话的xxx为utf8。所以执行下面的步骤:

1、

复制该文件,并且命名为【my.ini】,这样根目录下就有两个.ini文件了,一个是my-default.ini,一个是my.ini 。接下来我们只需修改my.ini里面的内容就行了。请往下看:

2、

修改【my.ini】,

在[mysqld]下面添加 character_set_server=utf8,注意是【utf8】不是【utf-8】而且后面没有任何标点符号;

在【sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES】这句话后面再添加三行:

[client]
port=3306
default-character-set=utf8

3、

经过以上三步就ok了。保存后重启服务器,登陆后在命令行输入:【show variables like 'char%';】可查看默认字符集如下图所示:

数据库编码方式修改成功。

     但是执行添加语句,当包含中文字段时,还会出现错误提示。
执行show create table student;发现表格的编码方式依旧是Latin1.,如下图。


所以需要修改表格编码方式,用的语句是alter table student default character set utf8,执行后:


     但是执行添加语句还是有错误提醒,原来数据库可以指定表级别的编码,行级别编码,甚至可以指定字段级别的编码!!!所以需要继续修改指定字段的编码方式,执行alter table student change sname sname varchar(50) character set utf8,然后再次插入数据,如下图:

MySQL命令行端插入成功!

另一方面:
Navicat要实现和MySQL命令行端一致,需设置该连接的连接属性为“自动”,如下图所示:
表格显示:

至此,全部流程设置完毕!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值