MySQL命令行界面中出现字符错误提示的原因

150 阅读3分钟

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

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


之前设置了系统编码全都是UTF-8了的



[backcolor=rgb(27, 36, 38) !important][size=1em]
[size=1em]?

[color=rgb(185, 189, 182) !important][size=1em]1

[size=1em][color=rgb(185, 189, 182) !important][size=1em]vi /etc/sysconfig/i18n






[backcolor=rgb(27, 36, 38) !important][size=1em]
[size=1em]?

[color=rgb(185, 189, 182) !important][size=1em]1

[color=rgb(185, 189, 182) !important][size=1em]2

[color=rgb(185, 189, 182) !important][size=1em]3

[color=rgb(185, 189, 182) !important][size=1em]4

[size=1em][color=rgb(185, 189, 182) !important][size=1em]LANG=zh_CN.UTF-8
[color=rgb(185, 189, 182) !important][size=1em]LANGUAGE=zh_CN.UTF-8:zh_CN.GB2312:zh_CN
[color=rgb(185, 189, 182) !important][size=1em]SUPPORTED=zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en
[color=rgb(185, 189, 182) !important][size=1em]SYSFONT=lat0-sun16




数据库也一直配置的 utf8


[backcolor=rgb(27, 36, 38) !important][size=1em]
[size=1em]?

[color=rgb(185, 189, 182) !important][size=1em]1

[size=1em][color=rgb(185, 189, 182) !important][size=1em]cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \





[backcolor=rgb(27, 36, 38) !important][size=1em]
[size=1em]?

[color=rgb(185, 189, 182) !important][size=1em]1

[color=rgb(185, 189, 182) !important][size=1em]2

[color=rgb(185, 189, 182) !important][size=1em]3

[color=rgb(185, 189, 182) !important][size=1em]4

[color=rgb(185, 189, 182) !important][size=1em]5

[color=rgb(185, 189, 182) !important][size=1em]6

[color=rgb(185, 189, 182) !important][size=1em]7

[color=rgb(185, 189, 182) !important][size=1em]8

[color=rgb(185, 189, 182) !important][size=1em]9

[color=rgb(185, 189, 182) !important][size=1em]10

[size=1em][color=rgb(185, 189, 182) !important][size=1em]-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
[color=rgb(185, 189, 182) !important][size=1em]-DDEFAULT_CHARSET=utf8 \
[color=rgb(185, 189, 182) !important][size=1em]-DDEFAULT_COLLATION=utf8_general_ci \
[color=rgb(185, 189, 182) !important][size=1em]-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
[color=rgb(185, 189, 182) !important][size=1em]-DWITH_MYISAM_STORAGE_ENGINE=1 \
[color=rgb(185, 189, 182) !important][size=1em]-DENABLED_LOCAL_INFILE=ON \
[color=rgb(185, 189, 182) !important][size=1em]-DWITH_INNOBASE_STORAGE_ENGINE=1 \
[color=rgb(185, 189, 182) !important][size=1em]-DWITH_READLINE=1 \
[color=rgb(185, 189, 182) !important][size=1em]-DENABLED_LOCAL_INFILE=1 \
[color=rgb(185, 189, 182) !important][size=1em]-DMYSQL_DATADIR=/var/mysql/data




不知道怎么冒出个 gb2312 来
找了好久最后终于发现应该是终端输入内容编码的问题,想起之前为了让 SSH 正常显示中文修改了


[backcolor=rgb(27, 36, 38) !important][size=1em]
[size=1em]?

[color=rgb(185, 189, 182) !important][size=1em]1

[size=1em][color=rgb(185, 189, 182) !important][size=1em]vi /etc/profile





[backcolor=rgb(27, 36, 38) !important][size=1em]
[size=1em]?

[color=rgb(185, 189, 182) !important][size=1em]1

[color=rgb(185, 189, 182) !important][size=1em]2

[size=1em][color=rgb(185, 189, 182) !important][size=1em]LANG=zh_CN.GB2312
[color=rgb(185, 189, 182) !important][size=1em]export LANG





这地方给修改过的原因,于是将它注释掉然后关了 ssh 重新链接后执行命令就正常了,
PS:MySQL导入乱码解决
导入时出现乱码,需要在语句中添加指定导入数据的编码格式:


[backcolor=rgb(27, 36, 38) !important][size=1em]
[size=1em]?

[color=rgb(185, 189, 182) !important][size=1em]1

[size=1em][color=rgb(185, 189, 182) !important][size=1em]mysql -uroot -p database_name < database_backup.sql --default-character-set=utf8