mysql乱码修改character_set_server

[mac]

1、使用任何一个客户端或者命令行查询一下编码,俺用的是MySQLWorkbench

SHOW VARIABLES LIKE 'character_set_%';

2、发现编码是character_set_server = Latin1

3、将编码改为UTF8

4、前往-->前往文件夹/usr/local/mysql/

5、mysql->support-files->找到文件my-default.cnf

6、拷贝一份放到桌面,然后用文件编码,打开文件,找到[mysqld]在下面加入一行

如果是别的引起的,可以在[client]下面加入

[mysqld]
character-set-server=utf8

7、将桌面上的my-default.cnf文件重命名为my.cnf,并拷贝

8、到系统偏好设置中找到mysql,打开,stop mysql关掉服务

8、前往 --> 前往文件夹 /private/ect/,粘进去,然后start mysql开启服务

9、SHOW VARIABLES LIKE 'character_set_%'; 成功。

说明:俺在设置的时候搞了半个小时没有成功,

可能是一开始新建的my.cnf有问题,内容是一样,就是不成功,后来通过拷贝的方法成功了。

网上也有新建能成功的,不管了,目前成功即可。

[windows]

下的mysql的话,安装的时候会弹出来让你配制,或者转到bin中找到那个配制的exe双击就可以配了。

(这个有点忘记了 :))

注:mysql5.7.*版本

 

 

 

今天又碰到了这个问题,提示:Error Code: 1366. Incorrect string value: '\xE4\xBA\xA7\xE4\xB8\x9A...' for column 'xxxx'列

这个明显是编码问题。

解决:

1、查看mysql版本5.7.31

2、打开终端

sudo vim /etc/my.cnf.   #按i可以修改为Insert模式

sudo nano /etc/my.cnf #这个^X退出,底部有提示。

3、加入编码设置

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

 

###还碰到了下面的问题

#In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated column 'contracts4.v.rightId'; this is incompatible w#ith sql_mode=only_full_group_by

解决:

在mysqld下面增加 sql_mode

 

4、保存退出

Esc
:wq

重启了一下,然后查看就可以了。

 

vim处理的命令:

在Mac终端中使用vim编辑文件:
cd 文件所在的文件夹路径
<回车> 输入 vim 文件名 <回车> 按下 i 键来编辑文本文字 退出vim编辑器: 不保存并退出 <ESC> :q! <回车> 保存并退出 <ESC> :wq <回车>


按ESC键跳到命令模式,然后输入: :w - 保存文件,不退出 vim :w file -将修改另外保存到 file 中,不退出 vim :w! -强制保存,不退出 vim :wq -保存文件,退出 vim :wq! -强制保存文件,退出 vim :q -不保存文件,退出 vim :q! -不保存文件,强制退出 vim :e! -放弃所有修改,从上次保存文件开始再编辑 链接:https://www.jianshu.com/p/9177bfcf4480

 

posted @ 2018-09-03 08:46  jiduoduo  阅读(5679)  评论(0编辑  收藏  举报