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