新聞中心
解決mysql數(shù)據(jù)庫(kù)顯示亂碼問(wèn)題

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到新安網(wǎng)站設(shè)計(jì)與新安網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站制作、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋新安地區(qū)。
MySQL是一種非常流行的數(shù)據(jù)庫(kù)管理系統(tǒng),但是在使用它時(shí),有時(shí)會(huì)遇到顯示亂碼的情況,這給我們帶來(lái)了很多麻煩。本文將介紹一些解決MySQL數(shù)據(jù)庫(kù)亂碼問(wèn)題的方法,幫助你快速解決這個(gè)問(wèn)題。
一、檢查MySQL的字符集
數(shù)MySQL默認(rèn)字符集是Latin1,而在某些情況下,如果數(shù)據(jù)庫(kù)中的數(shù)據(jù)不是由英文字符組成,那么就會(huì)出現(xiàn)亂碼。因此,我們需要檢查MySQL的字符集。具體步驟如下:
1. 登錄MySQL數(shù)據(jù)庫(kù),在命令行中輸入以下命令:
show variables like ‘%character%’;
2. 檢查輸出結(jié)果中的character_set_database參數(shù)是否是UTF8。如果不是,我們需要修改它。在命令行中輸入以下命令:
SET character_set_database=utf8;
3. 重新啟動(dòng)MySQL服務(wù)器。
二、修改MySQL配置文件
如果MySQL的字符集已經(jīng)是UTF8,但仍然出現(xiàn)亂碼,那么我們可能需要修改MySQL的配置文件。具體步驟如下:
1. 找到MySQL的配置文件my.cnf,它通常位于/etc/mysql/或/etc/目錄下。
2. 打開(kāi)my.cnf文件,在[mysqld]下面添加以下代碼:
init_connect=’SET NAMES utf8′
character-set-server=utf8
collation-server=utf8_general_ci
3. 保存并關(guān)閉my.cnf文件。
4. 重新啟動(dòng)MySQL服務(wù)器。
三、修改MySQL表格的字符集
有時(shí)候,MySQL表格創(chuàng)建時(shí)的字符集與我們所需要的字符集不符,這也會(huì)導(dǎo)致亂碼問(wèn)題。為此,我們需要修改表格的字符集。具體步驟如下:
1. 登錄MySQL數(shù)據(jù)庫(kù),在命令行中輸入以下命令:
show create table 表名;
2. 查找輸出結(jié)果中的DEFAULT CHARSET參數(shù),檢查它是否是utf8。如果不是,我們需要修改它。
3. 在命令行中輸入以下命令:
ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8;
四、修改數(shù)據(jù)的字符集
如果MySQL數(shù)據(jù)庫(kù)中已經(jīng)存在數(shù)據(jù),而且出現(xiàn)了亂碼問(wèn)題,那么我們需要修改這些數(shù)據(jù)的字符集。具體步驟如下:
1. 登錄MySQL數(shù)據(jù)庫(kù),在命令行中輸入以下命令:
SELECT * FROM 表名 WHERE 字段 LIKE ‘%亂碼%’;
2. 找到包含亂碼數(shù)據(jù)的字段,并將它們復(fù)制到一個(gè)文本編輯器中。
3. 將文本編輯器中的數(shù)據(jù)另存為UTF-8編碼。
4. 在命令行中輸入以下命令:
UPDATE 表名 SET 字段=CONVERT(字段 USING utf8) WHERE 字段 LIKE ‘%亂碼%’;
5. 再次查詢表格數(shù)據(jù),檢查亂碼問(wèn)題是否已經(jīng)解決。
MySQL是一種非常強(qiáng)大和流行的數(shù)據(jù)庫(kù)管理系統(tǒng),在使用它時(shí),我們可能會(huì)遇到各種問(wèn)題,其中一個(gè)比較常見(jiàn)的問(wèn)題就是亂碼。本文介紹了一些解決MySQL數(shù)據(jù)庫(kù)亂碼問(wèn)題的方法,希望可以幫助你快速解決這個(gè)問(wèn)題。不過(guò),在修改MySQL的字符集、配置文件、表格字符集和數(shù)據(jù)字符集時(shí),我們需要謹(jǐn)慎操作,以免出現(xiàn)其他問(wèn)題。
相關(guān)問(wèn)題拓展閱讀:
- asp讀取mysql數(shù)據(jù)庫(kù)中文數(shù)據(jù)顯示?????亂碼
- navicat數(shù)據(jù)庫(kù)顯示數(shù)據(jù)亂碼怎么解決
asp讀取mysql數(shù)據(jù)庫(kù)中文數(shù)據(jù)顯示?????亂碼
encoding=utf-8
更好在SQL 語(yǔ)句后面加上
set names utf8
完整的應(yīng)該州謹(jǐn)是空納,在asp 頁(yè)頭添加如下代碼:
冊(cè)虧基
用寫(xiě)字板把 .asp 文件另存為 utf-8 字符集
簡(jiǎn)體中文
繁體中文
UTF
把枝此源上面這個(gè)代碼根據(jù)你自己的編碼扒橡方式選其中的一個(gè)。。復(fù)制到你網(wǎng)頁(yè)猛態(tài)中的之一行。。就OK啦
navicat數(shù)據(jù)庫(kù)顯示數(shù)據(jù)亂碼怎么解決
mysql 創(chuàng)建數(shù)據(jù)庫(kù)時(shí)指定編碼很重要,很多開(kāi)發(fā)者都使用了默認(rèn)編碼,亂碼問(wèn)題可是防不勝防。制定數(shù)據(jù)庫(kù)的編碼可以很大程度上避免倒入導(dǎo)出帶來(lái)的亂碼問(wèn)題。
網(wǎng)頁(yè)數(shù)據(jù)一般采用UTF8編碼,而數(shù)據(jù)庫(kù)默認(rèn)為latin 。我們可以通過(guò)修改數(shù)據(jù)庫(kù)默認(rèn)編碼方式為UTF8來(lái)減少數(shù)據(jù)庫(kù)創(chuàng)建時(shí)的設(shè)置,也能更大限度的避免因粗心造成的亂碼問(wèn)題。
我們遵循的標(biāo)準(zhǔn)是,數(shù)據(jù)庫(kù),表,字段和頁(yè)面或文本的編碼要統(tǒng)一起來(lái)
我們可以通過(guò)命令查看數(shù)據(jù)庫(kù)當(dāng)前編碼: mysql> SHOW VARIABLES LIKE ‘character%’;
發(fā)現(xiàn)很多對(duì)應(yīng)的都是 latin1,我們的目標(biāo)就是在下鏈饑租次使用此命令時(shí)latin1能被UTF8取代。
之一階段:
mysql設(shè)置編碼命令
復(fù)制代碼代碼如下:
SET character_set_client = utf8;
SET character_set_connection = utf8;
SET character_set_database = utf8;
SET character_set_results = utf8;
SET character_set_server = utf8;
然后 mysql> SHOW VARIABLES LIKE ‘character%’; 你可以看到全變?yōu)?utf8 。
但是,這只是一種假象
此種方式只在當(dāng)前狀態(tài)下有效,當(dāng)重啟數(shù)據(jù)庫(kù)服務(wù)后失效。
所以如果想要不出現(xiàn)亂碼只有修改my.ini文件,
從my.ini下手(標(biāo)簽下沒(méi)有的添加,有的修改)
default-character-set=utf8
default-character-set=utf8
default-character-set=utf8
以上3個(gè)section都要加default-character-set=utf8,平時(shí)我們可能只加了mysqld一項(xiàng)。
然后重啟mysql,執(zhí)行
mysql> SHOW VARIABLES LIKE ‘character%’;
確保所有的Value項(xiàng)都是utf8即可。
但是可惡的棚兆事情又來(lái)了,
|character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 注意 該配置| character_set_server | latin1 無(wú)法設(shè)置成UTF8 交互時(shí)候仍然會(huì)肢凱出現(xiàn)亂碼。
第二階段:找到下面這東東
X:\%path%\MySQL\MySQL Server 5.0\bin\MySQLInstanceConfig.exe
重新啟動(dòng)設(shè)置,將默認(rèn)編碼設(shè)置為utf8.這樣就能達(dá)到我們所要的效果了。
mysql> SHOW VARIABLES LIKE ‘character%’;
++-+
| Variable_name | Value |
++-+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.0\share\charsets\ |
++-+
8 rows in set
另外注意事項(xiàng):
1、建表時(shí)加utf8,表字段的Collation可加可不加,不加時(shí)默認(rèn)是utf8_general_ci了。
復(fù)制代碼代碼如下:
CREATE TABLE `tablename4` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`varchar1` varchar(255) DEFAULT NULL,
`varbinary1` varbinary(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
2、網(wǎng)頁(yè)xxx.php/jsp保存時(shí)選擇utf8編碼,頁(yè)頭更好加上
header(‘conten-type:text/html;charset=utf-8’);
在執(zhí)行CRUD操作前先執(zhí)行一下
mysql數(shù)據(jù)庫(kù)顯示亂碼的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于mysql數(shù)據(jù)庫(kù)顯示亂碼,解決mysql數(shù)據(jù)庫(kù)顯示亂碼問(wèn)題,asp讀取mysql數(shù)據(jù)庫(kù)中文數(shù)據(jù)顯示?????亂碼,navicat數(shù)據(jù)庫(kù)顯示數(shù)據(jù)亂碼怎么解決的信息別忘了在本站進(jìn)行查找喔。
成都服務(wù)器托管選創(chuàng)新互聯(lián),先上架開(kāi)通再付費(fèi)。
創(chuàng)新互聯(lián)(www.cdcxhl.com)專業(yè)-網(wǎng)站建設(shè),軟件開(kāi)發(fā)老牌服務(wù)商!微信小程序開(kāi)發(fā),APP開(kāi)發(fā),網(wǎng)站制作,網(wǎng)站營(yíng)銷推廣服務(wù)眾多企業(yè)。電話:028-86922220
網(wǎng)站標(biāo)題:解決mysql數(shù)據(jù)庫(kù)顯示亂碼問(wèn)題 (mysql數(shù)據(jù)庫(kù)顯示亂碼)
分享網(wǎng)址:http://www.5511xx.com/article/dhgpjhc.html


咨詢
建站咨詢
