天天看點

mysql出現中文亂碼或不能輸入中文問題的Windows或Linux系統解決方法一. Windows環境下:二. Linux環境下:(注:我的系統是Centos7.2 64位,用RPM方式安裝的MySQL,不一樣的系統和安裝方式可能處理方法不一樣。)

       相信MySQL新手在剛接觸MySQL時總會遇到中文亂碼的問題,如ERROR 1366 (HY000): Incorrect string value。作為新手,我也遇到過。不過以前沒系統地找過解決方法,最近因為Linux要安裝MySQL,我遇到了在MySQL指令行中中文不能輸入和中文亂碼的問題,就查找解決方法解決,順帶把windows系統中文亂碼的問題給解決了。下面我将分别介紹如何在Windows和Linux系統解決類似的問題。

一. Windows環境下:

在mysql安裝目錄下找到my.ini檔案,注意是安裝目錄下,而不是安裝目錄下的bin目錄下,否則修改了也不會生效。我就犯了這樣的錯誤。如果安裝目錄下沒有,就把my-medium.ini複制(注意是複制,不要覆寫或删除掉,以防可能出現未知的錯誤)重命名為my.ini,然後做如下添加:

[client]

default-character-set=utf8

[mysqld]

collation-server=utf8_general_ci

character_set_server=utf8

[mysql]

default-character-set=utf8

然後重新開機mysql服務(net start mysql)即可。在指令行輸入status或show variables like 'character%';發現編碼方式變成了utf8。

mysql出現中文亂碼或不能輸入中文問題的Windows或Linux系統解決方法一. Windows環境下:二. Linux環境下:(注:我的系統是Centos7.2 64位,用RPM方式安裝的MySQL,不一樣的系統和安裝方式可能處理方法不一樣。)

二. Linux環境下:(注:我的系統是Centos7.2 64位,用RPM方式安裝的MySQL,不一樣的系統和安裝方式可能處理方法不一樣。)

mysql不支援輸入中文的解決方法:可能是因為shell不支援中文,這是Linux環境配置問題,需要打開locale.conf檔案,即vim /etc/locale.conf,然後做如下修改:

mysql中文亂碼出現ERROR 1366 (HY000): Incorrect string value錯誤解決方法:

1.直接解決方法通過改配置檔案:

#vim /etc/my.cnf(5.5以後MySQL) 做如下添加:

[client]

        port=3306

        default-character-set=utf8

[mysql]

        default-character-set=utf8

[mysqld]

collation-server=utf8_general_ci

character_set_server=utf8

然後重新開機mysql服務,在指令行輸入status或show variables like 'character%';發現編碼方式變成了utf8。

mysql出現中文亂碼或不能輸入中文問題的Windows或Linux系統解決方法一. Windows環境下:二. Linux環境下:(注:我的系統是Centos7.2 64位,用RPM方式安裝的MySQL,不一樣的系統和安裝方式可能處理方法不一樣。)

2.間接解決方法通過修改資料庫、表的編碼方式

建表之前指定編碼方式:create table  tablename (...) default charset=utf8

改變已建立的資料庫:alter database databasename character set utf8;

改變已建立的表:alter table tablename convert to character set utf8;