linux下mysql中文亂碼 中文問號 解決辦法

2021-08-20 10:06:33 字數 1925 閱讀 2095

安裝完的mysql的預設字符集為 latin1 ,為了要將其字符集改為使用者所需要的(比如utf8),就必須改其相關的配置檔案;由於linux下mysql的預設安裝目錄分布在不同的檔案下;不像windows一樣放在同一目錄下,只需修改其中的my.ini檔案,重起後就生效了;所以先來看看linux下mysql的資料庫檔案、配置檔案和命令檔案分別在不同的目錄 : 

1、資料庫目錄,其所建立的資料庫檔案都在該目錄下 

/var/lib/mysql/ 

2、配置檔案 (mysql.server命令及配置檔案所在地) 

/usr/share/mysql 

3、相關命令(如mysql mysqladmin等) 

/usr/bin 

4、啟動指令碼(如mysql啟動命令) 

/etc/rc.d/init.d/ 

檢視預設字符集 

#mysql -u root - p 

#(輸入密碼) 

修改字符集 修改 /etc/my.cnf檔案

#/etc/my.cnf

[client]

default-character-set=utf8

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

user=mysql

# disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

#default-character-set=utf8

character-set-server=utf8

init_connect='set names utf8'

[mysql]

no-auto-rehash

default-character-set=utf8

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

切記:在mysqld中加入的是 character-set-server=utf8 而不是 default-character-set=utf8 

否則會報:starting mysql...the server quit without updating pid file [失敗]lib/mysql/localhost.localdomain.pid).異常

重起mysql伺服器,使其設定的內容生效 

一、啟動方式

1、使用 service 啟動:service mysqld start

2、使用 mysqld 指令碼啟動:/etc/inint.d/mysqld start

3、使用 safe_mysqld 啟動:safe_mysqld&

二、停止

1、使用 service 啟動:service mysqld stop

2、使用 mysqld 指令碼啟動:/etc/inint.d/mysqld stop

3、 mysqladmin shutdown

三、重啟

1、 使用 service 啟動:service mysqld restart

2、使用 mysqld 指令碼啟動:/etc/inint.d/mysqld restart

Linux下 mysql中文亂碼

中文存入 mysql 資料庫出現的亂碼,從 jsp 頁面讀取 mysql 中文資料出現亂碼,以及在 sell 環境下檢視資料庫表中文資料出現亂碼。為了解決中文亂碼問題,首先是採用同一字符集。本人採用的是 gbk.1.安裝mysql後首先修改配置檔案 etc my.cnf 注 可能安裝的目錄不同,通過...

linux下中文亂碼

輸入locale檢視 如果像這種是可以看到中文的 今天無意間執行了命令導致中文全部展示?了 解決辦法 輸入export lc all zh cn.utf 8 etc locale.conf就可以了 方法二 這種方法更有效 vim etc locale.conf lang zh cn.utf 8 la...

Linux下mysql中文亂碼解決方案

中文存入 mysql 資料庫出現的亂碼,從 jsp 頁面讀取 mysql 中文資料出現亂碼,以及在 sell 環境下檢視資料庫表中文資料出現亂碼。為了解決中文亂碼問題,首先是採用同一字符集。本人採用的是 gbk.1.安裝mysql後首先修改配置檔案 etc my.cnf 注 可能安裝的目錄不同,通過...