MySQL會(huì)出現(xiàn)中文亂碼的原因不外乎下列幾點(diǎn):
成都創(chuàng)新互聯(lián)主要從事做網(wǎng)站、成都做網(wǎng)站、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)沁縣,10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220
1.server本身設(shè)定問題。
2.table的語系設(shè)定問題(包含character與collation)
3.客戶端程式(例如php)的連線語系設(shè)定問題強(qiáng)烈建議使用utf8。utf8可以兼容世界上所有字符!
一、避免創(chuàng)建數(shù)據(jù)庫及表出現(xiàn)中文亂碼和查看編碼方法
1、創(chuàng)建數(shù)據(jù)庫的時(shí)候:CREATE DATABASE `test`
CHARACTER SET 'utf8'
COLLATE 'utf8_general_ci';
2、建表的時(shí)候 CREATE TABLE `database_user` (
`ID` varchar(40) NOT NULL default '',
`UserID` varchar(40) NOT NULL default '',
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
這2個(gè)設(shè)置好了,基本就不會(huì)出問題了,即建庫和建表時(shí)都使用相同的編碼格式。
但是如果已經(jīng)建了庫和表可以通過以下方式進(jìn)行查詢。
1.查看默認(rèn)的編碼格式:
mysql show variables like "%char%";
+--------------------------+---------------+
| Variable_name | Value |
+--------------------------+---------------+
| character_set_client | gbk |
| character_set_connection | gbk |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | gbk |
| character_set_server | utf8 |
| character_set_system | utf8 |
+--------------------------+-------------+
注:以前2個(gè)來確定,可以使用set names utf8,set names gbk設(shè)置默認(rèn)的編碼格式;
執(zhí)行SET NAMES utf8的效果等同于同時(shí)設(shè)定如下:
SET character_set_client='utf8';
SET character_set_connection='utf8';
SET character_set_results='utf8';
2.查看test數(shù)據(jù)庫的編碼格式:
mysql show create database test;
+------------+------------------------------------------------------------------------------------------------+
| Database | Create Database |
+------------+------------------------------------------------------------------------------------------------+
| test | CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET gbk */ |
+------------+------------------------------------------------------------------------------------------------+
3.查看yjdb數(shù)據(jù)庫的編碼格式:
mysql show create table yjdb;
| yjdb | CREATE TABLE `yjdb` (
`sn` int(5) NOT NULL AUTO_INCREMENT,
`type` varchar(10) NOT NULL,
`brc` varchar(6) NOT NULL,
`teller` int(6) NOT NULL,
`telname` varchar(10) NOT NULL,
`date` int(10) NOT NULL,
`count` int(6) NOT NULL,
`back` int(10) NOT NULL,
PRIMARY KEY (`sn`),
UNIQUE KEY `sn` (`sn`),
UNIQUE KEY `sn_2` (`sn`)
) ENGINE=MyISAM AUTO_INCREMENT=1826 DEFAULT CHARSET=gbk ROW_FORMAT=DYNAMIC |
二、避免導(dǎo)入數(shù)據(jù)有中文亂碼的問題
1:將數(shù)據(jù)編碼格式保存為utf-8
設(shè)置默認(rèn)編碼為utf8:
set names utf8;
設(shè)置數(shù)據(jù)庫db_name默認(rèn)為utf8:
ALTER DATABASE `db_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
設(shè)置表tb_name默認(rèn)編碼為utf8:
ALTER TABLE `tb_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
導(dǎo)入:
LOAD DATA LOCAL INFILE 'C:\\utf8.txt' INTO TABLE yjdb;
2:將數(shù)據(jù)編碼格式保存為ansi(即GBK或GB2312)
設(shè)置默認(rèn)編碼為gbk:
set names gbk;
設(shè)置數(shù)據(jù)庫db_name默認(rèn)編碼為gbk:
ALTER DATABASE `db_name` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
設(shè)置表tb_name默認(rèn)編碼為gbk:
ALTER TABLE `tb_name` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
導(dǎo)入:
LOAD DATA LOCAL INFILE 'C:\\gbk.txt' INTO TABLE yjdb;
注:1.UTF8不要導(dǎo)入gbk,gbk不要導(dǎo)入U(xiǎn)TF8;
2.dos下不支持UTF8的顯示;
三、解決網(wǎng)頁中亂碼的問題
將網(wǎng)站編碼設(shè)為 utf-8,這樣可以兼容世界上所有字符。
如果網(wǎng)站已經(jīng)運(yùn)作了好久,已有很多舊數(shù)據(jù),不能再更改簡(jiǎn)體中文的設(shè)定,那么建議將頁面的編碼設(shè)為 GBK, GBK與GB2312的區(qū)別就在于:GBK能比GB2312顯示更多的字符,要顯示簡(jiǎn)體碼的繁體字,就只能用GBK。
1.編輯/etc/my.cnf ,在[mysql]段加入default_character_set=utf8;
2.在編寫Connection URL時(shí),加上?useUnicode=truecharacterEncoding=utf-8參;
3.在網(wǎng)頁代碼中加上一個(gè)"set names utf8"或者"set names gbk"的指令,告訴MySQL連線內(nèi)容都要使用utf8或者gbk。
1、修改安裝文件根目錄下的我的文件,搜索字段默認(rèn)特征設(shè)置,設(shè)置其值為中國字符編碼或國際編碼之一,重啟MySQL服務(wù)器;
2、修改數(shù)據(jù)庫編碼,在安裝目錄的根目錄下找到出現(xiàn)亂碼的數(shù)據(jù)庫對(duì)應(yīng)的文件夾,進(jìn)入文件夾,找到此數(shù)據(jù)庫的編碼配置文件,進(jìn)行修改,重啟MySQL服務(wù)器;
3、備份原數(shù)據(jù)庫數(shù)據(jù),直接刪除此數(shù)據(jù)庫,重新創(chuàng)建數(shù)據(jù)庫并設(shè)置編碼,再重啟MySQL服務(wù)器。
4、若仍出現(xiàn)亂碼,重裝系統(tǒng)即可。
顯示亂碼有許多原因:
這里主要是MySQL數(shù)據(jù)庫中 因?yàn)?*【編碼不統(tǒng)一】**造成的
Latin1是ISO-8859-1的別名,有些環(huán)境下寫作Latin-1,最終要改為utf-8
在數(shù)據(jù)庫中輸入查詢命令:
修改成功后的查看界面:
方法/步驟
1
將下載的mysql-5.6.24-win32.1432006610.zip解壓到C:\Program Files(x86)\MySQL路徑中(因?yàn)橄螺d的是mysql32位版),當(dāng)然你也可以選擇解壓到其他盤符。
2
接下來配置環(huán)境變量,如沒有配置會(huì)提示:發(fā)生系統(tǒng)錯(cuò)誤 2,未找到指定文件!
方法如下:
打開我的電腦—屬性—高級(jí)系統(tǒng)設(shè)置—環(huán)境變量—選擇Path,點(diǎn)編輯。在其后面添加你的mysql bin文件夾的路徑 (C:\Program Files (x86)\MySQL\bin; )
注意是在后面添加,以英文 ; 隔開,切記不要覆蓋原有路徑!
3
修改配置文件:在你解壓的mysql文件夾里有一個(gè) my-default.ini 文件,打開如圖:修改圖中紅色圈的內(nèi)容,
basedir = C:\Program Files (x86)\MySQL(MySQL所在目錄)
datadir = C:\Program Files (x86)\MySQL\data(MySQL中data所在目錄)
注:前面的 #去掉。如圖
4
以管理員身份運(yùn)行CMD,輸入:cd C:\Program Files (x86)\MySQL \bin如圖:
輸入:mysqld -install,接著會(huì)提示安裝成功,進(jìn)行下一步,啟動(dòng)MySQL服務(wù):net start mysql,提示:MySQL服務(wù)正在啟動(dòng)
MySQL服務(wù)啟動(dòng)成功。如圖,(由于我是已經(jīng)配置好的,所以會(huì)提示:The service already exists!)
注:以上命令符操作必須進(jìn)入到bin目錄下進(jìn)行,否則提示系統(tǒng)出錯(cuò)!
5
到此所有配置已經(jīng)完成,進(jìn)入登錄。接著以上操作輸入:mysql -u root -p。(連接數(shù)據(jù)庫服務(wù)器的命令:-u 是mysql數(shù)據(jù)庫用戶名,默認(rèn)為root,-p密碼),初次登錄沒有密碼按ENTER鍵跳過,進(jìn)入如圖界面,登錄成功!
標(biāo)題名稱:mysql怎么讓中文亂碼 mysql解決中文亂碼問題
文章URL:http://jinyejixie.com/article14/hpcdge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、網(wǎng)站收錄、微信公眾號(hào)、定制開發(fā)、網(wǎng)站改版、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)