当前位置: 移动技术网 > IT编程>数据库>Mysql > MySQL绿色版设置编码以及1067错误详解

MySQL绿色版设置编码以及1067错误详解

2017年12月12日  | 移动技术网IT编程  | 我要评论

美国b2b网站,王馨平别问我是谁,网页教程

mysql绿色版设置编码,以及1067错误

查看mysql编码

show variables like 'char%';

因为当初安装时指定了字符集为utf8,所以所有的编码都是utf8。

  • character_set_client:你发送的数据必须与client指定的编码一致!!!服务器会使用该编码来解读客户端发送过来的数据;
  • character_set_connection:通过该编码与client一致!该编码不会导致乱码!当执行的是查询语句时,客户端发送过来的数据会先转换成connection指定的编码。但只要客户端发送过来的数据与client指定的编码一致,那么转换就不会出现问题;
  • character_set_database:数据库默认编码,在创建数据库时,如果没有指定编码,那么默认使用database编码;
  • character_set_server:mysql服务器默认编码;
  • character_set_results:响应的编码,即查询结果返回给客户端的编码。这说明客户端必须使用result指定的编码来解码;
修改character_set_client、character_set_results、character_set_connection为gbk,
就不会出现乱码了。但其实只需要修改character_set_client和character_set_results。

控制台的编码只能是gbk,而不能修改为utf8,这就出现一个问题。客户端发送的数据是gbk,而character_set_client为utf8,这就说明客户端数据到了服务器端后一定会出现乱码。既然不能修改控制台的编码,那么只能修改character_set_client为gbk了。

服务器发送给客户端的数据编码为character_set_result,它如果是utf8,那么控制台使用gbk解码也一定会出现乱码。因为无法修改控制台编码,所以只能把character_set_result修改为gbk。
填上这句话:

这里写图片描述

下面是整体配置:

# for advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** do not edit this file. it's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of mysql.

[mysqld]

basedir = h:\mysql
datadir = h:\mysql\data


character_set_server = utf8 


# remove leading # and set to the amount of ram for the most important data
# cache in mysql. start at 70% of total ram for dedicated server, else 10%.
# innodb_buffer_pool_size = 128m

# remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# these are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....


# remove leading # to set options mainly useful for reporting servers.
# the server defaults are faster for transactions and fast selects.
# adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128m
# sort_buffer_size = 2m
# read_rnd_buffer_size = 2m 

sql_mode=no_engine_substitution,strict_trans_tables 


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

1067错误

注意my.ini里面的配置不要写错了,其实我们很多出现1067错误的都是my.ini里面配错了。

备注:

在windows10中,其实设置default-character-set = utf8,然后在cmd中进行操作也不会乱码。但是在windows8.1、windows7中就会乱码。所以在windows8.1、windows7中必须把default-character-set = gbk 设置为gbk

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网