mysql-5.6.14-winx64中文乱码

在向mysql-5.6.14-winx64插入中文记录时,出现乱码:


使用语句 show variables like 'character%'; 来查看当前数据库的相关编码集。



以下是将latin1字符集的数据库修改成GBK字符集的数据库的过程。操作较为简单。下面就来简单的介绍Mysql字符变量和latin1转换到GBK的过程,大家可以根据自己实际情况,举一反三。

一、MySQL字符集设置

  •  系统变量:
client 为客户端使用的字符集。
connection 为连接数据库的字符集设置类型,如果程序没有指明连接数据库使用的字符集类型则按照服务器端默认的字符集设置。
database 为数据库服务器中某个库使用的字符集设定,如果建库时没有指明,将使用服务器安装时指定的字符集设置。
results 为数据库给客户端返回时使用的字符集设定,如果没有指明,使用服务器默认的字符集。
server 为服务器安装时指定的默认字符集设定。
system 为数据库系统使用的字符集设定。

– character_set_client:客户端来源数据使用的字符集

– character_set_connection:连接层字符集

– character_set_database:当前选中数据库的默认字符集

– character_set_results:查询结果字符集

– character_set_server:默认的内部操作字符集

– character_set_system:系统元数据(字段名等)字符集


二、MySQL中的字符集转换过程

1. MySQL Server收到请求时将请求数据从character_set_client转换为character_set_connection

2. 进行内部操作前将请求数据从character_set_connection转换为内部操作字符集,其确定方法如下:

• 使用每个数据字段的CHARACTER SET设定值;

• 若上述值不存在,则使用对应数据表的DEFAULT CHARACTER SET设定值(MySQL扩展,非SQL标准)

• 若上述值不存在,则使用对应数据库的DEFAULT CHARACTER SET设定值;

• 若上述值不存在,则使用character_set_server设定值。

3. 将操作结果从内部操作字符集转换为character_set_results


修改my.ini(只有修改配置文件,并重启服务器,才能永久生效)

[client]
 no-beep

[mysql]
default-character-set=gbk  

[mysqld]
init_connect = 'SET NAMES utf8'
character-set-server=gbk

#server---服务器 
character-set-server=gbk

mysql服务的停止和启动命令:

  net stop mysql

  net start mysql

然后再次查看 当前数据库的相关编码集:



此时再次插入中文:



这是将 latin1改为GBK的过程,大家也可以改成其他字符,比如utf-8,可使试试。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值