回覆列表
  • 1 # 老生談笑

    A. 字元編碼: “使用命令列方式登陸到MySQL伺服器, 建立一個數據庫,資料庫編碼設為UTF-8。此時,如果直接在命令列視窗使用insert語句插入中文,就遇到類似 ERROR 1406 (22001): Data too long for column "name" at row 1 錯誤。乍一看,是欄位長度引起的問題,但是實際是字元編碼的問題。可是嘗試以下解決方法: 1、在Linux中,使用終端方式登陸MySQL伺服器,執行以下命令: set names utf8; 該命令將終端的字元編碼設為了UTF-8。此後再插入資料庫中的內容都會按照UTF-8的編碼來處理。 注意:在Linux中,終端方式中直接插入中文內容,可能並不會出現1406錯誤,但是這時插入的資料 是按照系統的預設編碼進行處理。因此對編碼為UTF-8的資料庫,在顯示資料的地方可能會出現亂碼。 2、在Windows下,命令列視窗不支援UTF-8編碼,所以使用“set names utf8;”不會達到轉化中文的 效果。但是這個問題還是可以解決的: (1)使用預設編碼建立資料庫。這種情況下就可以直接輸入中文了,但是相應的問題,就是會 失去UTF-8編碼的靈活性。特別是不利於軟體的國際化。 (2)放棄命令列視窗登入MySQL,使用圖形化客戶端。客戶端工具可以MySQL的官方網站上找到。”B. Mysql配置檔案: “在my.ini裡找到sql- mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"把其中 的STRICT_TRANS_TABLES,去掉,或者把sql- mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION註釋掉,然 後重啟mysql就ok了”

  • 中秋節和大豐收的關聯?
  • 描寫古代景物的句子?