先sudo su转换成root,再用cd转到/etc/mysql目录下,用chmod修改权限(chmod 755 my.cnf),但这样还不能修改,再用vi命令(sudo vi my.cnf),通过上下方向键将光标移到[client]下面的空行,按I键,添加default-character-set=utf8,再按Esc键,通过上下方向键将光标移到[mysqld]下面的空行下,添加character-set-server = utf8   init_connect='SET NAMES utf8' ,按shift+Q,出现“:”,再在后面输入wq!,表示保存推出vi。就OK了。

需要重启mysql服务

停用:

sudo mysqladmin shutdown -u root -p

然后输入mysql的root用户的密码

启用:

sudo mysqld_safe -user=mysql &

查看一下现在mysql的编码

sudo mysql -u root -p

mysql>show variables like 'character%';

+--------------------------+----------------------------+

| Variable_name | Value |

+--------------------------+----------------------------+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

现在不管在mysql shell下还是JDBC都可以正常显示中文了。但之前的数据还是不行,所以在这之前得先备份数据,修改完编码后再导入。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐