mysql中文问题解析

mysql中文问题绝大多数由编码问题引起,大多数同学都是修改mysql自身配置完成修改。下面整理几种情况

一:客户端连接不能输入中文

二:数据库整体不能插入中文

三:数据库某张表不能插入中文

解决办法:

通用型临时应急解决办法

set nams utf8 ;  或  show variables like ‘%char%’;  将编码不同的修改为utf8;

一:客户端连接不能输入中文

核对字符集设置,查看当前系统/连接软件是否支持对应编码。

(1)linux/dockers下终端直接连接

         echo $LANG  或 locale  查看当前编码集

         若字符集不支持中文,需修改为系统支持的字符集,utf8系列都支持中文编码

         export LANG=en_US.UTF-8  设置系统字符集

(2)连接工具不能输入中文,查看下如xshell类连接工具的 设置->编码 是否是utf8

(3)连接相关配置出错。

         show variables like ‘%char%’; 查看 character_set_connection 参数是否为设置的utf8

         或打开my.cnf/my.ini查看mysql配置文件

二:数据库整体不能插入中文

修改数据库编码即可 set nams utf8 ;

show variables like ‘%char%’;

三:部分表不能插入中文

打开表结构,查看当前字段的字符集,曾经出现过数据库所有通用型设置都是utf8,但是某个字段的字符集设置被修改了,查了一天。

你可能感兴趣的:(mysql中文问题解析)