系統環境
mac 10.10.3
mysql 5.6.30
問題一:手動插入中文顯示???
數據庫管理工具,手動插入中文最后變成?號
解決方法:
1先停止mysql服務
2.拷貝mysql的默認配置文件
mac下/etc目錄下默認是沒有mysql的配置文件的
mysql如果是apk下載安裝的話,默認是在/usr/local/mysql/
終端輸入以下命令,把mysql的默認配置文件拷貝到/etc目錄下
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
注意點:有些文件名可能不一樣,具體查看/usr/local/mysql/support-files/目錄下的*.cnf是什么,然后替換上面的名字my-default.cnf
也可以直接手動拷貝復制。
3.修改mysql的配置文件
finder前往到/etc目錄下,找到拷貝進來的my.cnf文件
默認my.cnf是只讀的,編輯之前修改權限。點擊右鍵,選擇顯示簡介,下面就有權限修改。
修改為可讀可寫。
然后在終端,切換到/etc目錄
cd /etc
vim my.cnf
就會顯示默認的配置信息
添加以下代碼
[client]
default-character-set=utf8
在[mysqld]的下面再添加以下代碼
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
注意點:直接復制粘貼,可能會漏掉一些字,注意檢查就是了。
最后結果如下圖:
最后按鍵盤ESC,退出insert模式,輸入三個字符
:x!
就可以保存退出了。
4.重新啟動mysql服務
如果發現點擊啟動,沒有反應,是配置問題出錯,看下添加設置的時候有沒有錯吧。
沒錯的話,就可以啟動的了。還是不可以,那你就試著重新啟動電腦。
重新啟動后還是不可以,好吧,你只能把ect/目錄下的那個my.cnf文件刪除,就會自動加載默認的配置文件的了,服務就會正常啟動了。
如果修改成功,那就登錄查看結果。
終端登錄mysql,輸入以下命令
mysql -u root -p
正常提示輸入密碼,輸入你設置的密碼,默認空
登錄成功后,繼續輸入命令,status查看字符編碼設置。顯示如下:
如果提示找不到這個mysql -u root -p命令,那就是你一開始環境配置沒有設置。
輸入 alias 命令
alias mysql=/usr/local/mysql/bin/mysql
回車,在輸入
alias mysqladmin=/usr/local/mysql/bin/mysqladmin
就可以了。
另外網上很多人都說
Server characterset: latin1
Db characterset: latin1
這兩個也要設置utf8,個人測試發現,不用設置,一樣可以插入中文。
到目前為止,管理工具手動插入中文,還是不可以。還需要以下設置:
因為已經存在數據庫,修改數據庫的編碼
修改表字段的編碼
就可以手動插入中文了。
問題二:php代碼插入mysql,中文顯示不出來,亂碼
代碼頁面添加mysql_query("SET NAMES 'utf8'",$con);
如下圖:
$con = mysql_connect("127.0.0.1","root","root");
mysql_select_db("my_db", $con);
//增加以下語句
mysql_query("SET NAMES 'utf8'",$con);
//再進行查詢語句
好了,到此就成功了!