- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務(wù)經(jīng)營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會理事單位
- 安全聯(lián)盟認證網(wǎng)站身份V標記
- 域名注冊服務(wù)機構(gòu)許可:滇D3-20230001
- 代理域名注冊服務(wù)機構(gòu):新網(wǎng)數(shù)碼
今天碰到phpmyadmin導(dǎo)入sql文件,中文內(nèi)容亂碼導(dǎo)致導(dǎo)入出錯問題,已解決,總結(jié)出phpmyadmin的編碼設(shè)置問題如下:
一、phpmyadmin設(shè)置新建數(shù)據(jù)庫的默認編碼為gbk或utf8編碼的方法
1.先查看本mysql的各項charset設(shè)置,運行sql查詢語句:
show variables like 'character%';
查詢結(jié)果中:
character_set_database:代表當前所在數(shù)據(jù)庫的編碼,這里是latin1;
character_set_server代表默認的新建數(shù)據(jù)庫編碼,還是latin1;
也就是說,我的當前所在數(shù)據(jù)庫編碼是lantin1,而如果我新建一個數(shù)據(jù)庫,默認編碼是latin1。
2.根據(jù)character_set_database和character_set_server的值,我們就好辦了。運行以下兩條sql語句,即可設(shè)置完畢:
set character_set_server=utf8; //設(shè)置默認新建數(shù)據(jù)庫編碼為utf8
alter database testdb character set utf8; //更改現(xiàn)有數(shù)據(jù)庫編碼
注意:“set character_set_server=uft8”只對當前連接或者查詢有效,果想新建數(shù)據(jù)庫,請將create database語句寫在同一查詢中,否則無效。
若想永久生效,將“character_set_server = utf8”寫入mysql的配置文件/etc/my.cnf即可。
二、phpmyadmin導(dǎo)入數(shù)據(jù)庫時gbk或utf8編碼的設(shè)置(解決導(dǎo)入數(shù)據(jù)庫中文亂碼問題)
1.首先確保導(dǎo)入的sql文件中的中文不是亂碼,此sql文件可以是utf8編碼也可以是gb2312編碼;
2.在sql文件的最開頭添加set names utf8或者gb2312;(必須與你文件的編碼相同,如果你想導(dǎo)入后是utf8,你的文件編碼就要是utf8,如果想導(dǎo)入后是gbk/gb2312,你的文件編碼就要是gbk/gb2312);
3.通過phpmyadmin導(dǎo)入界面直接導(dǎo)入即可;
4.文件的字符集,mysql字符集,mysql連接校對等幾?字符集設(shè)置可以不用管,比如我這里mysql字符集,mysql連接校對分別是latin1和utf8_general_ci,不影響我的導(dǎo)入后的字符集和編碼。
提交成功!非常感謝您的反饋,我們會繼續(xù)努力做到更好!
這條文檔是否有幫助解決問題?
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP