数据库 
首页 > 数据库 > 浏览文章

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

(编辑:jimmy 日期: 2024/11/16 浏览:3 次 )

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

上一篇:Mac 安装和卸载 Mysql5.7.11 的方法
下一篇:窥探mysql存储过程细节
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。