mysql無法添加中文數據 MySQL的數據庫無法插入中文是怎么回事?
MySQL的數據庫無法插入中文是怎么回事?A.字符代碼:“使用命令行登錄MySQL服務器并建立數據庫,數據庫代碼設置為UTF-8。此時,如果使用insert語句在命令行窗口中直接插入中文,則會遇到類似
MySQL的數據庫無法插入中文是怎么回事?
A.字符代碼:“使用命令行登錄MySQL服務器并建立數據庫,數據庫代碼設置為UTF-8。此時,如果使用insert語句在命令行窗口中直接插入中文,則會遇到類似error1406(22001)的錯誤:datatoolongforcolumn“name”atrow1。乍一看,問題是由字段長度引起的,但實際上是字符編碼的問題。但請嘗試以下解決方法:1。在Linux下,以終端模式登錄MySQL服務器,運行setnamesutf8命令,將終端的字符編碼設置為UTF-8。之后,插入到數據庫中的內容將按照UTF-8編碼進行處理。注意:在Linux中,如果在終端模式下直接插入中文內容,可能不會出現1406錯誤,但是插入的數據會按照系統(tǒng)的默認代碼進行處理。因此,對于編碼為UTF-8的數據庫,在顯示數據的地方可能存在亂碼。2在windows下,命令行窗口不支持UTF-8編碼,因此使用“setnamesutf8”無法達到中文轉換的效果。但這個問題可以解決:(1)使用默認代碼來構建數據庫。在這種情況下,您可以直接輸入中文,但相應的問題是,您將失去UTF-8編碼的靈活性。尤其不利于軟件的國際化。(2) 放棄命令行窗口登錄MySQL并使用圖形化客戶端。客戶端工具可以在MySQL的官方網站上找到。”B.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”)