Mysql數(shù)據(jù)庫不能插入中文,一插入就報(bào)錯(cuò),是代碼輸入錯(cuò)誤造成的,解決方法如下:
成都創(chuàng)新互聯(lián)公司成立以來不斷整合自身及行業(yè)資源、不斷突破觀念以使企業(yè)策略得到完善和成熟,建立了一套“以技術(shù)為基點(diǎn),以客戶需求中心、市場(chǎng)為導(dǎo)向”的快速反應(yīng)體系。對(duì)公司的主營項(xiàng)目,如中高端企業(yè)網(wǎng)站企劃 / 設(shè)計(jì)、行業(yè) / 企業(yè)門戶設(shè)計(jì)推廣、行業(yè)門戶平臺(tái)運(yùn)營、成都App定制開發(fā)、成都手機(jī)網(wǎng)站制作、微信網(wǎng)站制作、軟件開發(fā)、綿陽服務(wù)器托管等實(shí)行標(biāo)準(zhǔn)化操作,讓客戶可以直觀的預(yù)知到從成都創(chuàng)新互聯(lián)公司可以獲得的服務(wù)效果。
1、首先使用insert語句,把數(shù)據(jù)插入到數(shù)據(jù)庫表里。
2、運(yùn)行后,發(fā)現(xiàn)插入語句報(bào)錯(cuò)了。點(diǎn)擊語句,查看詳情,提示說插入的中文語句是不正確的字符串內(nèi)容。
3、這時(shí)右鍵點(diǎn)擊插入數(shù)據(jù)的表,然后點(diǎn)擊表設(shè)計(jì)。
4、打開表設(shè)計(jì)界面后,點(diǎn)擊上方的Option選項(xiàng)。
5、默認(rèn)新建的表字符集用的是latin1字符集。要插入中文內(nèi)容,需要將其改成ubf8字符集。
6、除此之外,需要保存中文內(nèi)容的字段,也需要將其改成utf8字符集。
7、修改好,保存后,再次運(yùn)行插入sql語句,可以看到成功插入中文數(shù)據(jù)了。
1、Apache 和 MySQL變綠后,這應(yīng)該都會(huì)了。點(diǎn)擊Mysql后的admin,
2、然后會(huì)進(jìn)入這個(gè)頁面,圖中方框中的是現(xiàn)在使用的語言,點(diǎn)擊后面的小三角,
3、點(diǎn)擊三角后會(huì)彈出這條語言選擇框,選擇圖中的中文選項(xiàng),
4、Mysql的窗口就修改成中文的了,完成效果圖。
mysql數(shù)據(jù)亂碼問題可能有以下三種原因:
1.server本身設(shè)定問題,例如還停留在latin1版本;
2.table的語系設(shè)定問題(包含character與collation);
3.客戶端程式(例如php,java)的連線語系設(shè)定問題;
建議使用utf8!!!!
想要避免mysql的中文亂碼問題,可以嘗試以下方法:
1,對(duì)于版本問題,建議去官網(wǎng)更新最新的版本或者比較好用的版本;
2,創(chuàng)建數(shù)據(jù)庫,創(chuàng)建表時(shí)沒有對(duì)字符編碼進(jìn)行設(shè)定會(huì)造成亂碼問題:
創(chuàng)建數(shù)據(jù)庫的時(shí)候:CREATE DATABASE `test`
CHARACTER SET 'utf8'
COLLATE 'utf8_general_ci';
建表的時(shí)候 CREATE TABLE `database_user` (
`ID` varchar(40) NOT NULL default '',
`UserID` varchar(40) NOT NULL default '',
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
3,對(duì)于第三種情況,參考一下方法:
編輯linux服務(wù)器中/etc/my.cnf文件,在[mysql]段加入default_character_set=utf8;
如果只是調(diào)試遇到亂碼問題:
在編寫Connection URL時(shí),加上?useUnicode=truecharacterEncoding=utf-8參數(shù);
并且在網(wǎng)頁代碼中加上一個(gè)"set names utf8"或者"set names gbk"的指令,告訴MySQL連線內(nèi)容都要使用utf-8或者gbk。
utf8或者gbk;
1,創(chuàng)建table的時(shí)候就使用utf8編碼
舉個(gè)例子:
在每次創(chuàng)建表的時(shí)候都在最后加上 character set = utf8 就可以很好的支持中文。
2,修改已經(jīng)有的table的編碼
當(dāng)使用默認(rèn)編碼創(chuàng)建了一個(gè)table的時(shí)候,是不能支持中文的,這時(shí)候使用如下語句對(duì)table_name進(jìn)行修改:
此后再往這個(gè)table插入中文的時(shí)候,就可以正常存儲(chǔ)和讀取了,但不知道為什么之前的亂碼還是不能糾正,只能新插入的數(shù)據(jù)沒有問題。
[注意] 我google了一下,有些地方說這個(gè)命令也行,但是我測(cè)試以后并不行
alter table table_name charset=utf8; #這個(gè)語句并沒有讓table_name支持中文