data too long for column 'name' at row 1的解决办法

时间:2020-12-29 17:04:58

产生这个问题的原因是:mysql乱码。产生乱码的根源在于编码解码使用不同的码表。

解决乱码方法,使用如下指令:set names gbk;

乱码原理解释:

data too long for column 'name' at row 1的解决办法

第一条红线解释:控制台相当于客户端,数据库服务器认为客户端采取utf-8编码方式;

第二条红线解释:服务器认为客户端与服务器连接时,采取utf-8方式传送数据;

第三条红线j解释:服务器将数据返回时,以utf-8方式返回;

然而,我们自己电脑是以gbk方式的编码。客户端采取gbk,服务器的一系列操作采取utf-8,因此,产生乱码。


使用set names gbk 后,再使用:show  variables like 'character% ';data too long for column 'name' at row 1的解决办法



以上方式,只可以暂时改变客户端编码方式。要想永久改变,则需要将数据库的配置文件my.ini里面的编码方式改为gbk。

谢谢阅读