修复mysql无法插入中文的问题

有时操作mysql的时候,会出现如下错误
ERROR 1366 (HY000): Incorrect string value:
file

这种情况也可能会在中文数据乱码的时候存在,因为我们需要在数据库保存中文字符,所以经常遇到。

通过以下命令可以查询当前数据库的编码

show variables like 'character%';

这里我们可以看character_sert_database与character_set_server的字符集都是latin1.那么在mysql数据库中,server,database,table的字符集都默认是latin1.下面我们就来看看如何解决mysql乱码情况。

file

对表增加默认编码可以保证当前表内编码

create table user(name varchar(11)) default charset=utf8;

file
键入以下指令可修改全局配置

# 不加global可以仅在当前窗口生效,加了global在mysql服务重启之前都生效
set global character_set_database=utf8;
set global character_set_server=utf8;

# 需要默认生效,需要加在my.cnf中
[client] 
default-character-set=utf8mb4 
[mysql] 
default-character-set=utf8mb4 
[mysqld] 
character-set-client-handshake=FALSE 
character-set-server=utf8mb4 
collation-server=utf8mb4_unicode_ci 
init_connect='SET NAMES utf8mb4'

file

若文章对你有帮助,可以点赞或打赏支持我们。发布者:Aurora,转载请注明出处:http://61.174.243.28:13541/AY-knowledg-hub/%e4%bf%ae%e5%a4%8dmysql%e6%97%a0%e6%b3%95%e6%8f%92%e5%85%a5%e4%b8%ad%e6%96%87%e7%9a%84%e9%97%ae%e9%a2%98/

(0)
AuroraAurora站点维系者
上一篇 2023年 2月 26日 下午9:16
下一篇 2023年 3月 2日 下午10:28

相关推荐

发表回复

登录后才能评论
Translate »