您的位置:首頁技術文章
文章詳情頁

MySQL插入不了中文數據問題的原因及解決

瀏覽:87日期:2023-05-08 10:17:48
目錄
  • 前言
  • 原因:
  • 具體解決方法:
    • 創建數據庫時設置字符集為utf8
    • 修改數據庫配置文件(比較麻煩)
  • 總結

    前言

    我們使用MySQL可能會遇到加入中文報錯的情況,如下。

    報錯:非法的字符值 放入 ‘name’ 為什么不能存入中文呢?

    原因:

    對于當前數據庫 來說,內部存儲中文是需要指定對應的中文編碼方式!

    而數據庫默認的字符集,是“拉丁文”,不能存中文。

    我們在控制臺輸入,下面這行命令,查看數據庫字符集。

    show variables like "%char%";

    我們看 character_set_database 這一行對應 Value的是 latinl,而 latinl 是拉丁文,是不支持中文的。

    現在我們知道數據庫為什么不能存儲中文了,那應該怎么做才能讓數據庫插入中文呢?我們接著往下看

    具體解決方法:

    我主要介紹兩種方法,一種簡單的,一個比較復雜,但其本質上是在修改 數據庫 字符編碼

    創建數據庫時設置字符集為utf8

    我們在創建數據庫時設置支持中文字符集utf8,如下

    create database 數據庫名 character set utf8;

    設置完后,我們就能想改數據庫中插入中文啦。

    我們再查看該數據庫時,我們會發現我們設置數據庫字符集改變了,但是當我們使用其他數據庫時,其字符集還是 latinl。

    這種方法,雖然簡單但是每次都需要手動設置,那有沒有一種方法能一勞永逸。

    我們看方法二。

    修改數據庫配置文件(比較麻煩)

    我們可以修改MySQL的配置文件,把其字符集修改為utf8,這樣再創建數據庫就不用手動設置啦。

    什么是配置文件:

    很多程序,內部支持多種“模式”,可以調整當前程序,讓他應用那種模式。

    因此就可以借助“開關”來切換模式!軟件的開關通常會用一個“圖形化界面”,但是對于 MySQL 等

    標簽: MySQL
    国产综合久久一区二区三区