字符界面运行mysql_MySQL命令行界面中出现字符错误提示的原因及解决方法

博主遇到MySQL初始化时错误提示ERROR2019(HY000):Can't initialize character set gb2312。经过排查发现,问题源于终端输入内容编码设置。之前为使SSH显示中文,曾将终端环境变量LANG设为GB2312。解决方案是注释掉该设置,重启SSH连接,确保所有配置为UTF-8。此外,解决数据库导入时的乱码问题,需在导入命令中指定默认字符集为utf8。
摘要由CSDN通过智能技术生成

ERROR 2019 (HY000): Can't initialize character set gb2312

搞了好半天,MySQL都重装了两次,号悲剧。。。

之前设置了系统编码全都是UTF-8了的 vi /etc/sysconfig/i18n

LANG=zh_CN.UTF-8

LANGUAGE=zh_CN.UTF-8:zh_CN.GB2312:zh_CN

SUPPORTED=zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en

SYSFONT=lat0-sun16

数据库也一直配置的 utf8 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DENABLED_LOCAL_INFILE=ON \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DENABLED_LOCAL_INFILE=1 \

-DMYSQL_DATADIR=/var/mysql/data

不知道怎么冒出个 gb2312 来

找了好久最后终于发现应该是终端输入内容编码的问题,想起之前为了让 SSH 正常显示中文修改了 vi /etc/profile LANG=zh_CN.GB2312

export LANG

这地方给修改过的原因,于是将它注释掉然后关了 ssh 重新链接后执行命令就正常了,

PS:MySQL导入乱码解决

导入时出现乱码,需要在语句中添加指定导入数据的编码格式: mysql -uroot -p database_name < database_backup.sql --default-character-set=utf8

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值