在使用 select * from xxx limit 1; 查看mysql中数据情况时,中文出现乱码现象。有以下几种解决方案:
1. 如果使用了docker,建议在docker运行时制定mysql的配置文件
docker run --name mysql -p 3306:3306 -v my.conf:/etc/my.conf -d mysql:latest
其中,my.conf是自定义的配置文件,最后加上:
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
2. 如果没有使用docker,类似地,可以修改mysql的配置文件,一般路径为 /etc/mysql/mysql.conf.d/mysqld.cnf,同样加上这两句
[mysql]
character-set-server=utf8
[mysqld]
default-character-set=utf8
3. 如果找不到配置文件,或者只是想临时看一下,可以使用简单命令
set names utf8;
根因分析:mysql默认编码方式为latin1,不支持中文。
mysql> show variables like “character%”;
Variable_name | Value |
---|---|
character_set_client | latin1 |
character_set_connection | latin1 |
character_set_database | utf8 |
character_set_filesystem | binary |
character_set_results | latin1 |
character_set_server | utf8mb4 |
character_set_system | utf8 |
character_sets_dir | /usr/share/mysql-8.0/charsets/ |
欢迎关注
人工智能技术分析
人工智能 机器学习 深度学习
AI人工智能三要素:数据、算力和算法
计算机视觉(CV)任务介绍:分类、检测、分割、超分、关键点识别、图像生成、度量学习
关于我
缘起:新的开始
公众号持续更新原创内容,欢迎订阅。
AI人工智能与大数据