新聞中心
在我們使用數(shù)據(jù)庫(kù)服務(wù)器的過(guò)程中,有時(shí)候會(huì)遇到一些亂碼問(wèn)題。特別是在服務(wù)器重啟后,有些數(shù)據(jù)可能就會(huì)出現(xiàn)亂碼。這是由于服務(wù)器重啟后,數(shù)據(jù)庫(kù)字符集信息沒(méi)有正確加載所致。那么如何解決這種亂碼問(wèn)題呢?本文將介紹一些解決方法,希望對(duì)大家有所幫助。

創(chuàng)新互聯(lián)建站長(zhǎng)期為上1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為紅花崗企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、成都做網(wǎng)站,紅花崗網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
一、設(shè)置數(shù)據(jù)庫(kù)字符集
在創(chuàng)建數(shù)據(jù)庫(kù)時(shí),我們可以設(shè)置默認(rèn)的字符集。如果我們沒(méi)有設(shè)置好,就容易出現(xiàn)亂碼問(wèn)題。因此,在創(chuàng)建數(shù)據(jù)庫(kù)的時(shí)候,需要注意字符集的設(shè)置。通常采用utf-8字符集,因?yàn)閡tf-8支持多種語(yǔ)言,可以大大降低亂碼的概率。
對(duì)于已經(jīng)創(chuàng)建好的數(shù)據(jù)庫(kù),可以通過(guò)以下命令來(lái)查看其字符集:
SHOW VARIABLES LIKE ‘%character%’;
該命令會(huì)顯示當(dāng)前數(shù)據(jù)庫(kù)的字符集信息。如果字符集信息不正確,就需要修改了。
二、修改數(shù)據(jù)庫(kù)字符集
如果查看到當(dāng)前數(shù)據(jù)庫(kù)的字符集不正確,可以通過(guò)以下命令來(lái)修改:
ALTER DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
其中,“db_name”是你想要修改的數(shù)據(jù)庫(kù)名稱,也可以修改所有數(shù)據(jù)庫(kù)的字符集,只需將db_name改為“*”即可。
修改完數(shù)據(jù)庫(kù)字符集后,需要重啟MySQL服務(wù)器。在重啟后,MySQL會(huì)重新讀取字符集信息,并且會(huì)將其正確加載。
三、修改MySQL配置文件
除了修改數(shù)據(jù)庫(kù)字符集以外,我們還可以修改MySQL服務(wù)器的配置文件。在該配置文件中,可以設(shè)置MySQL服務(wù)器啟動(dòng)后默認(rèn)的字符集信息,以避免亂碼的出現(xiàn)。
我們可以使用vi或nano等編輯器打開(kāi)MySQL服務(wù)器的配置文件:
sudo vi /etc/mysql/my.cnf
然后添加以下兩行代碼:
[client]
default-character-set = utf8
[mysqld]
init_connect = ‘SET NAMES utf8’
character-set-server = utf8
collation-server = utf8_general_ci
保存并退出配置文件后,重啟MySQL服務(wù)器,就可以避免MySQL服務(wù)器重啟后出現(xiàn)亂碼問(wèn)題了。
通過(guò)以上方法,我們可以有效地解決MySQL服務(wù)器重啟后出現(xiàn)亂碼問(wèn)題。之一種方法是在創(chuàng)建數(shù)據(jù)庫(kù)時(shí)設(shè)置正確的字符集;第二種方法是修改數(shù)據(jù)庫(kù)的字符集;第三種方法是修改MySQL服務(wù)器的配置文件。每種方法都有其適用場(chǎng)景,根據(jù)實(shí)際情況選擇即可。希望本文內(nèi)容能夠?yàn)榇蠹姨峁┮恍椭?/p>
相關(guān)問(wèn)題拓展閱讀:
- 安裝mysql后,在命令行中查看表的信息是亂碼怎么回事?
- linux系統(tǒng)下mysql中文亂碼解決
安裝mysql后,在命令行中查看表的信息是亂碼怎么回事?
set names gbk;
按下面步驟操作 直到把自己?jiǎn)栴}解決……
① 首先把MySQL的服務(wù)停掉 在運(yùn)行窗口輸入:net stop mysql
② 把服務(wù)器和客戶拆碧端的字符集改成自己想用的字符集:GB2312或是utf8等……
具體操作為:打開(kāi)mysql安裝目錄下的my.ini;
找到default-character-set,將其改為自己想用的字符集:GB2312或是utf8等……,要注意的是這里有兩個(gè)default-character-set,用ctrl+f定位在文件最前面輸入default就會(huì)找到,都要改過(guò)來(lái);
③ 重啟MySQL服務(wù)器,在運(yùn)行窗口輸入:net start mysql
④ 最重要的是一點(diǎn)是,到這里我們已經(jīng)能夠解決亂碼問(wèn)題了,可問(wèn)題是我族搜們依然還會(huì)出現(xiàn)亂碼問(wèn)題,這是因?yàn)槲覀儸F(xiàn)在的表被創(chuàng)建的時(shí)候用的是默認(rèn)的字符集(latin1),所以這時(shí)旅穗舉候我們要把表刪除,然后重建就可以了
數(shù)據(jù)庫(kù)的編碼問(wèn)題,創(chuàng)建譽(yù)罩?jǐn)?shù)據(jù)庫(kù)時(shí)橘臘要更改數(shù)據(jù)圓虛滑的編碼為utf-8,如圖
linux系統(tǒng)下mysql中文亂碼解決
改默認(rèn)編碼
/etc/init d/mysql start (stop) 為啟動(dòng)和停止服務(wù)器
/etc/mysql/ 主要配置文件所在位置 f
/var/lib/mysql/ 放置的是數(shù)據(jù)庫(kù)表文件夾 這里的mysql相當(dāng)于windows下mysql的date文件夾
啟動(dòng)mysql后 以root登雀余錄mysql
isher@isher ubuntu:~$ mysql u root
>show variables like character% ; #執(zhí)行編碼顯示
+ + +
| Variable_name | Value |
+ + +
| character_set_client | latin |
| character_set_connection | latin |
| character_set_database | latin |
| character_set_filesystem | binary |
| character_set_results | latin |
| character_set_server | latin |
| character_set_system | utf |
| character_sets_dir | /usr/share/mysql/charsets/ |
+ + +
在某些時(shí)候 我們續(xù)要修改mysql默認(rèn)數(shù)據(jù)庫(kù)的編碼 以保證某些遷移的程序可以正常顯示 編輯f文件進(jìn)行編碼修頃游滾改 windows可以直接用Mysql Server Instance Config Wizard 進(jìn)行設(shè)置
在linux下修改 個(gè)f的 個(gè)/etc/mysql/f文件
找到客戶端配置 在下面添加
### 默認(rèn)字符集為utf
default character set=utf
在找到 添加
### 默認(rèn)字符集為utf
default character set=utf
### (設(shè)定連接mysql數(shù)據(jù)庫(kù)時(shí)使用utf 編碼 以讓mysql數(shù)據(jù)庫(kù)為utf 運(yùn)行)
init_connect= SET NAMES utf
修改好后 重新啟動(dòng)mysql 即可 查詢一下show variables like character% ;
##重新啟動(dòng)mysql
/etc/init d/mysql start (stop) 為啟動(dòng)和停止服
在某些時(shí)候 我們續(xù)要修改mysql默認(rèn)數(shù)據(jù)庫(kù)的編碼 以保證某些遷移的程序可以正常顯示 編輯f文件進(jìn)行編碼修改 windows可以直接用Mysql Server Instance Config Wizard 進(jìn)行設(shè)置
+ + +
| Variable_name | Value |
+ + +
| character_set_client | utf |
| character_set_connection | utf |
| character_set_database | utf |
| character_set_filesystem | binary |
| character_set_results | utf |
| character_set_server | utf |
| character_set_system | utf |
| character_sets_dir | /usr/share/mysql/charsets/ |
+ + +
此方法用于標(biāo)準(zhǔn)mysql版本同樣有效磨凱 對(duì)于/etc/f文件 需要從mysql/support files的文件夾cp f一份到/etc/f
以上部分設(shè)置了mysql數(shù)據(jù)庫(kù)默認(rèn)編碼為utf 不知是哪位大俠的總結(jié) 非常感謝這位大俠
本人所范錯(cuò)誤
設(shè)置編碼前建立的數(shù)據(jù)庫(kù) 在測(cè)試插入數(shù)據(jù)后 仍然亂碼 此時(shí)在數(shù)據(jù)庫(kù)中就顯示中文亂碼 很是郁悶 停止學(xué)習(xí) 解決亂碼
在網(wǎng)上大量收集資料 都不成功 最后 突然想到 數(shù)據(jù)庫(kù)是在編碼之前建立的 編碼之后 插入數(shù)據(jù)會(huì)不會(huì)亂碼呢 于是重新建庫(kù)建表 插入數(shù)據(jù) 數(shù)據(jù)庫(kù)中中文顯示正常了 再來(lái)頁(yè)面上看看 OK 頁(yè)面也正常了
數(shù)據(jù)庫(kù)服務(wù)器重啟后 都是亂碼的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于數(shù)據(jù)庫(kù)服務(wù)器重啟后 都是亂碼,解決數(shù)據(jù)庫(kù)服務(wù)器重啟后亂碼問(wèn)題的方法,安裝mysql后,在命令行中查看表的信息是亂碼怎么回事?,linux系統(tǒng)下mysql中文亂碼解決的信息別忘了在本站進(jìn)行查找喔。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開(kāi)通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
本文名稱:解決數(shù)據(jù)庫(kù)服務(wù)器重啟后亂碼問(wèn)題的方法(數(shù)據(jù)庫(kù)服務(wù)器重啟后都是亂碼)
網(wǎng)頁(yè)路徑:http://fisionsoft.com.cn/article/dhssghd.html


咨詢
建站咨詢
