Mac下mysql中文亂碼問題2016.6

系統(tǒng)環(huán)境

mac 10.10.3
mysql 5.6.30

問題一:手動插入中文顯示???

數(shù)據(jù)庫管理工具,手動插入中文最后變成?號
解決方法:

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是只讀的,編輯之前修改權限。點擊右鍵,選擇顯示簡介,下面就有權限修改。

50645B91-73D2-460A-8A71-05E7ACA37FC7.png

修改為可讀可寫。

然后在終端,切換到/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

注意點:直接復制粘貼,可能會漏掉一些字,注意檢查就是了。
最后結果如下圖:


50645B91-73D2-460A-8A71-05E7ACA37FC7.png

最后按鍵盤ESC,退出insert模式,輸入三個字符

:x!

就可以保存退出了。

4.重新啟動mysql服務

如果發(fā)現(xiàn)點擊啟動,沒有反應,是配置問題出錯,看下添加設置的時候有沒有錯吧。
沒錯的話,就可以啟動的了。還是不可以,那你就試著重新啟動電腦。
重新啟動后還是不可以,好吧,你只能把ect/目錄下的那個my.cnf文件刪除,就會自動加載默認的配置文件的了,服務就會正常啟動了。

如果修改成功,那就登錄查看結果。
終端登錄mysql,輸入以下命令
mysql -u root -p
正常提示輸入密碼,輸入你設置的密碼,默認空
登錄成功后,繼續(xù)輸入命令,status查看字符編碼設置。顯示如下:

05E0FBC0-B739-4C48-8CEB-304EB7D8CBD0.png

如果提示找不到這個mysql -u root -p命令,那就是你一開始環(huán)境配置沒有設置。
輸入 alias 命令
alias mysql=/usr/local/mysql/bin/mysql

回車,在輸入
alias mysqladmin=/usr/local/mysql/bin/mysqladmin
就可以了。

另外網(wǎng)上很多人都說
Server characterset: latin1
Db characterset: latin1
這兩個也要設置utf8,個人測試發(fā)現(xiàn),不用設置,一樣可以插入中文。

到目前為止,管理工具手動插入中文,還是不可以。還需要以下設置:

因為已經(jīng)存在數(shù)據(jù)庫,修改數(shù)據(jù)庫的編碼


1F29F743-AEE4-4E25-9AD4-1C9D4383DAF3.png

修改表字段的編碼

0E360A47-6A1E-4F67-A19B-F7041502C291.png

就可以手動插入中文了。

問題二: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);
//再進行查詢語句

好了,到此就成功了!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容