mysql無法添加中文數(shù)據(jù) MySQL的數(shù)據(jù)庫無法插入中文是怎么回事?
MySQL的數(shù)據(jù)庫無法插入中文是怎么回事?A.字符代碼:“使用命令行登錄MySQL服務(wù)器并建立數(shù)據(jù)庫,數(shù)據(jù)庫代碼設(shè)置為UTF-8。此時(shí),如果使用insert語句在命令行窗口中直接插入中文,則會(huì)遇到類似
MySQL的數(shù)據(jù)庫無法插入中文是怎么回事?
A.字符代碼:“使用命令行登錄MySQL服務(wù)器并建立數(shù)據(jù)庫,數(shù)據(jù)庫代碼設(shè)置為UTF-8。此時(shí),如果使用insert語句在命令行窗口中直接插入中文,則會(huì)遇到類似error1406(22001)的錯(cuò)誤:datatoolongforcolumn“name”atrow1。乍一看,問題是由字段長度引起的,但實(shí)際上是字符編碼的問題。但請嘗試以下解決方法:1。在Linux下,以終端模式登錄MySQL服務(wù)器,運(yùn)行setnamesutf8命令,將終端的字符編碼設(shè)置為UTF-8。之后,插入到數(shù)據(jù)庫中的內(nèi)容將按照UTF-8編碼進(jìn)行處理。注意:在Linux中,如果在終端模式下直接插入中文內(nèi)容,可能不會(huì)出現(xiàn)1406錯(cuò)誤,但是插入的數(shù)據(jù)會(huì)按照系統(tǒng)的默認(rèn)代碼進(jìn)行處理。因此,對于編碼為UTF-8的數(shù)據(jù)庫,在顯示數(shù)據(jù)的地方可能存在亂碼。2在windows下,命令行窗口不支持UTF-8編碼,因此使用“setnamesutf8”無法達(dá)到中文轉(zhuǎn)換的效果。但這個(gè)問題可以解決:(1)使用默認(rèn)代碼來構(gòu)建數(shù)據(jù)庫。在這種情況下,您可以直接輸入中文,但相應(yīng)的問題是,您將失去UTF-8編碼的靈活性。尤其不利于軟件的國際化。(2) 放棄命令行窗口登錄MySQL并使用圖形化客戶端??蛻舳斯ぞ呖梢栽贛ySQL的官方網(wǎng)站上找到?!盉.MySQL配置文件:“in我的.ini在“TRANS”表中查找SQL mode=“strict”,無“AUTO”CREATE“USER,無“ENGINE”Substitution”將strict放入“TRANS”表中,刪除或放入SQL mode=strict“TRANS”表,無“AUTO”CREATE“USER,無“ENGINE”Insert into person(Nam,IFO)值(“I”,“good person”)