首頁 > 資料庫 > mysql教程 > mysql 中文亂碼解決辦法

mysql 中文亂碼解決辦法

藏色散人
發布: 2020-11-03 11:06:33
原創
4904 人瀏覽過

mysql中文亂碼的解決方法:1、在linux環境下找到my.cnf檔案並進行編碼修改;2、在Windows下修改my.ini檔案;3、在使用過程中強制設定字元集編碼。

mysql 中文亂碼解決辦法

推薦:《mysql影片教學

一.簡介

MySQL預設latin1(其實就是ISO-8859-1)字元集。這顯然不能滿足我們的需要,因此我們把它調整為UTF8字元集,以相容於大多數字元集。

1. 先執行兩個SQL,來偵測下目前的MySQL預設字元集編碼:

#Sql指令:

mysql>show variables like "%colla%";   

     

Sql命令:

mysql>show variables like "%char%"; 

   

二.修改字元集為UTF-8

需要修改MySQL設定檔my.cnf文件,Windows環境則是my.ini文件。

通常在linux環境下#my.cnf檔案位於/etc/mysql/my.cnf/etc/my.cnf 路徑下,但由於安裝版本或系統環境的不同,我們可能無法在這個目錄中找到該檔案

#1.Linux下修改方法

   修改mysql的設定文件,由於新組裝的mysql有可能在etc下沒有my.cnf

   這是需要自行創建一個。尋找一個my-medium.cnf 文件,然後複製到etc資料夾下指令為:cp /usr/share/doc/MySQL-server-5.5.24/my-medium.cnf /etc/my.cnf

#Shell程式碼:

#echo 修改my.cnf檔案  

#sudo vi /etc/my.cnf  

#在[client]下加入程式碼:

      default-character-set=UTF8

[mysqld]下加入程式碼:

      character_set_server=utf8

#在[ mysql ]下加碼:

      default-character-set=

修改成功後重新啟動mysql資料庫。

Shell指令:

service mysql restart

有時候資料庫service mysql start啟動成功,卻只能在root用mysql指令,可能是因為防火牆沒有關閉,使用下列指令解決問題:

                  service iptables stop

然後查詢字元集

##charamph\ ';

  show variables like "%colla%";

#成功圖像如下:

2.Windows下修改方法

MySQL安裝目錄下的my-default.ini改為my.ini檔案

[client]節點

default-character-set=utf8    (增加)

[mysql]節點

default-character-set=utf8    (修改)

default-character-set=utf8    (修改)

[mysqld]節點

character_set_server=utf8    (修改)

修改完畢後使用

net stop mysql

net start mysql

重新啟動mysql服務

然後查詢字元集:

  show variables like '%character%';

  show variables like " %colla%";

3.在使用過程中強制設定字元集編碼

為確保字元集完全統一,在建表、建庫的時候要強制設定統一字元集。

另外透過JDBC連接MySQL的時候為確保萬無一失,連接字串需要加上以下參數:jdbc:mysql://localhost:3306/mysql

?useUnicode=true&characterEncoding=UTF- 8###  ###

以上是mysql 中文亂碼解決辦法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板