插入的數(shù)據(jù)亂碼有很多原因:
成都創(chuàng)新互聯(lián)公司憑借專業(yè)的設(shè)計(jì)團(tuán)隊(duì)扎實(shí)的技術(shù)支持、優(yōu)質(zhì)高效的服務(wù)意識(shí)和豐厚的資源優(yōu)勢,提供專業(yè)的網(wǎng)站策劃、成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站優(yōu)化、軟件開發(fā)、網(wǎng)站改版等服務(wù),在成都十年的網(wǎng)站建設(shè)設(shè)計(jì)經(jīng)驗(yàn),為成都上千家中小型企業(yè)策劃設(shè)計(jì)了網(wǎng)站。
1、你要檢查一下頁面的編碼和數(shù)據(jù)庫設(shè)置的字符集是否一樣,要么都是utf8,要么都是gbk的
2、如果第一點(diǎn)說的兩邊編碼是統(tǒng)一的,你可以在鏈接數(shù)據(jù)庫的時(shí)候加上mysql_query("set
names
utf8")
3、加上之后還是不行的話,在檢查你的頁面編碼,如果是utf8的話,請選擇沒有bom的utf8編碼
4、以上都沒問題的話,還出現(xiàn)亂碼的話,修改mysql的配置文件,my.ini加上character-set-server=utf8,然后重啟mysql服務(wù)就可以了
一般出現(xiàn)亂碼的話,基本就是這些原因了
你也可以用下面的語句修改下一個(gè)起始值和步進(jìn)值:
alter
table
tblorder
alter
column
orderid
counter
(2000,
50)
要重新開始:
alter
table
tablename
alter
column
orderid
counter
(1,
1)
1、 編輯MySql的配置文件
MySql的配置文件Windows下一般在系統(tǒng)目錄下或者在MySql的安裝目錄下名字叫my.ini,可以搜索,Linux下一般是/etc/my.cnf
--在 [mysqld] 標(biāo)簽下加上以下內(nèi)容:
default-character-set = utf8
character_set_server = utf8
注意:如果此標(biāo)簽下已經(jīng)存在“default-character-set=GBK”類似的內(nèi)容,只需修改即可。
--在 [mysql] 標(biāo)簽下加上一行
default-character-set = utf8
--在 [mysql.server]標(biāo)簽下加上一行
default-character-set = utf8
--在 [mysqld_safe]標(biāo)簽下加上一行
default-character-set = utf8
--在 [client]標(biāo)簽下加上一行
default-character-set = utf8
2、 重新啟動(dòng)MySql服務(wù)
Windows可在服務(wù)管理器中操作,也可使用命令行:
net stop mysql 回車
net start mysql 回車
服務(wù)名可能不一定為mysql,請按自己的設(shè)置
Linux下面可是用 service mysql restart
如果出現(xiàn)啟動(dòng)失敗,請檢查配置文件有沒有設(shè)置錯(cuò)誤
3、 查看設(shè)置結(jié)果
登錄MySql命令行客戶端:打開命令行
mysql –uroot –p 回車
輸入密碼
進(jìn)入mysql后 執(zhí)行 :show variables like "% character %";
顯示結(jié)果應(yīng)該類似如下:
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
如果仍有編碼不是utf8的,請檢查配置文件,也可使用mysql命令設(shè)置:
set character_set_client = utf8;
set character_set_server = utf8;
set character_set_connection = utf8;
set character_set_database = utf8;
set character_set_results = utf8;
set collation_connection = utf8_general_ci;
set collation_database = utf8_general_ci;
set collation_server = utf8_general_ci;
另外:
建立數(shù)據(jù)庫時(shí)可以使用以下命令:
create database app_relation character set utf8;
use app_relation;
source app_relation.sql;
修改數(shù)據(jù)庫編碼的命令為:
alter database app_relation character set utf8;
通過show
variables
like
'character_set%%';查看編碼
修改mysql的編碼方式可以有以下幾個(gè):
1.通過配置文件修改my.ini(windows下)或/etc/my.cnf(linux下)
分別添加如下內(nèi)容
[mysqld]
character_server_set=utf8
[mysql]
default-character-set=utf8
[mysql.server]
default-character-set=utf8
[mysql_safe]
default-character-set=utf8
[client]
default-character-set=utf8
2.創(chuàng)建數(shù)據(jù)庫時(shí)設(shè)置編碼
create
database
test
character
set
utf8;
3.創(chuàng)建表時(shí)設(shè)置編碼
create
table
test(id
int
primary
key)DEFAULT
charset=utf8;
4.修改數(shù)據(jù)庫編碼
alter
database
test
character
set
utf8;
5.修改表默認(rèn)編碼
alter
table
test
character
set
utf8;
6.修改字段編碼
alter
table
test
modify
col_name
varchar(50)
CHARACTER
SET
utf8;
以上所述是小編給大家介紹的MySQL字符編碼設(shè)置方法,希望對大家有所幫助!
如果有
phpmyadmin
的話,可以直接在建表的時(shí)候,有個(gè)“額外”這個(gè)選項(xiàng),點(diǎn)擊進(jìn)入,選中AUTO_INCREMENT
如果不能的話,則用php頁面創(chuàng)建表的時(shí)候,在
sql語句
插入$sql="create
table
$table_name(id
varchar(4)
not
null
primary
key
auto_increment";再執(zhí)行就可以了
需要說明的是,這個(gè)字段不是必須填入的~
1、更改服務(wù)器的編碼方式,在終端輸入以下命令:
mysqld --character-set-server=gbk --collation-server=gbk_chinese_ci;
2、更改某個(gè)數(shù)據(jù)庫的編碼方式
mysql -u root -p
alter database character set gbk collate gbk_chinese_ci;
3、在創(chuàng)建數(shù)據(jù)庫時(shí)指定編碼:
mysql -u root -p?
create database db_name character set gbk collate gbk_chinese_ci;
4、更改某個(gè)表的編碼方式
mysql -u root -p db_name
alter table table_name convert to? charachter set gbk collate gbk_chinese_ci;
5、在創(chuàng)建表時(shí)指定編碼方式
mysql -u root -p db_name
create table table_name (....) character set gbk collate gbk_chinese_ci;
6、更改某行的編碼方式
mysql -u root -p db_name
alter table table_name modify column_name varchar(20) character set gbk collate gbk_chinese_ci;
7、在創(chuàng)建列時(shí)指定編碼方式:
/prepre name="code" class="sql"mysql -u root -p db_name
create table table_name (..., col1 varchar(20) character set gbk collate gbk_chinese_ci, ...) character set utf8 collate utf8_general_ci;
分享題目:mysql怎么自動(dòng)編碼,mysql怎么設(shè)置編碼
URL標(biāo)題:http://sd-ha.com/article46/phhieg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、網(wǎng)站內(nèi)鏈、做網(wǎng)站、小程序開發(fā)、品牌網(wǎng)站設(shè)計(jì)、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)