- 相關推薦
linux下mysql中文亂碼解決方法
上次在碰到這問題,在網(wǎng)上找了解決方法,可是沒記下來。這星期要換機器,要把原來linux下的mysql數(shù)據(jù)庫移到另一臺服務器上。安裝suse系統(tǒng)、再配置telnet、ftp服務、安裝java jdk并配置、再安裝eclipse和mysql,又花了一天的時間。感覺還是不熟練,配置防火墻老是不能將telnet和ftp服務排外。mysql又碰到了中文亂碼問題,又在網(wǎng)上找一找,現(xiàn)在把解決方法先記下來吧。
系統(tǒng)環(huán)境:suse linux server 10,mysql 5.0
安裝mysql后,默認的字符集是latin1。在linux下安裝mysql不像在windows上安裝那像,可以選擇字符集(即使當時使用了默認的字符集,安裝后也可以在安裝目錄下修改my.ini文件),但是在linux就不太一樣了。
在shell輸入mysql登陸后:
mysql>show variables like '%char%';
回車后顯示:
+----------------------+---------------------
| variable_name | value
+-----------------------+---------------------
| character_set_client | latin1
| character_set_connection | latin1
| character_set_database | latin1
| character_set_filesystem | binary
| character_set_results | latin1
| character_set_server | latin1
| character_set_system | utf8
| character_sets_dir | /usr/share/mysql/charsets/
+---------------------+----------------------
這就是它默認的設置。
接下來到/usr/share/mysql/目錄下,將http://m.emrowgh.comf文件(使用其它實例配置文件也行)拷貝到/etc目錄下:
pds:~# cp /usr/share/mysql/http://m.emrowgh.comf /etc/http://m.emrowgh.comf
pds:~# vi /etc/http://m.emrowgh.comf
分別在如下幾項中添加字符集:
[client]
default-character-set=gb2312
[mysqld_safe]
default-character-set=gb2312
[mysqld]
default-character-set=gb2312
#default-table-type=innodb
[mysql]
default-character-set=gb2312
再重啟mysql讓配置生效:
pds:~# service mysql restart
shutting down mysql done
starting mysql done
再次登陸mysql后,查看變量:
mysql>show variables like '%char%';
+----------------------+---------------------
| variable_name | value
+-----------------------+---------------------
| character_set_client | gb2312
| character_set_connection | gb2312
| character_set_database | gb2312
| character_set_filesystem | binary
| character_set_results | gb2312
| character_set_server | gb2312
| character_set_system | utf8
| character_sets_dir | /usr/share/mysql/charsets/
+---------------------+----------------------
如此顯示就完成了配置了,在表中插入一條含中文的記錄,就不再出現(xiàn)亂碼,但是原來插入的記錄很可能還是亂碼,因為原來的字符集與當前字符集不一致。
linux中mysql中文亂碼的解決方法2017-03-23 06:05 | #2樓
今天用java做了一個項目,發(fā)現(xiàn)往mysql中插入中文有亂碼的現(xiàn)象,mysql亂碼的情況可能有很多原因引起,于是在后臺輸出一行語句查看一下是否在項目里就出現(xiàn)亂碼的問題,查看中文正常,難道是mysql字符集的問題,我查看了一下mysql的配置文件,這個文件的位置在/etc/mysql目錄下,在終端運行
su root
獲得管-理-員權限,運行
vi /etc/mysql/http://m.emrowgh.comf
編輯配置文件,在[client]下加入
default-character-set =utf8
在[mysqld]下加入
default-character-set =utf8
退出編輯器,運行
sudo mysqladmin shutdown -uroot-p
回車,輸入mysql密碼,這樣我重新部署一下我的項目,發(fā)現(xiàn)再次插入中文亂碼解決。
【linux下mysql中文亂碼解決方法】相關文章:
linux工程師崗位職責02-02
linux工程師崗位職責15篇02-02
linux工程師崗位職責(15篇)02-02
鑄件缺陷及解決方法03-07
油漆缺陷及解決方法04-22
環(huán)境污染的解決方法05-26
短波通信盲區(qū)及解決方法03-15
UPS常見故障及解決方法03-02
注塑品常見缺陷及解決方法03-15