MySQL插入不了中文數(shù)據問題的原因及解決
前言
我們使用MySQL可能會遇到加入中文報錯的情況,如下。
報錯:非法的字符值 放入 ‘name’ 為什么不能存入中文呢?
原因:
對于當前數(shù)據庫 來說,內部存儲中文是需要指定對應的中文編碼方式!
而數(shù)據庫默認的字符集,是“拉丁文”,不能存中文。
我們在控制臺輸入,下面這行命令,查看數(shù)據庫字符集。
show variables like '%char%';
我們看 character_set_database 這一行對應 Value的是 latinl,而 latinl 是拉丁文,是不支持中文的。

現(xiàn)在我們知道數(shù)據庫為什么不能存儲中文了,那應該怎么做才能讓數(shù)據庫插入中文呢?我們接著往下看
具體解決方法:
我主要介紹兩種方法,一種簡單的,一個比較復雜,但其本質上是在修改 數(shù)據庫 字符編碼
創(chuàng)建數(shù)據庫時設置字符集為utf8
我們在創(chuàng)建數(shù)據庫時設置支持中文字符集utf8,如下
create database 數(shù)據庫名 character set utf8;
設置完后,我們就能想改數(shù)據庫中插入中文啦。

我們再查看該數(shù)據庫時,我們會發(fā)現(xiàn)我們設置數(shù)據庫字符集改變了,但是當我們使用其他數(shù)據庫時,其字符集還是 latinl。

這種方法,雖然簡單但是每次都需要手動設置,那有沒有一種方法能一勞永逸。
我們看方法二。
修改數(shù)據庫配置文件(比較麻煩)
我們可以修改MySQL的配置文件,把其字符集修改為utf8,這樣再創(chuàng)建數(shù)據庫就不用手動設置啦。
什么是配置文件:
很多程序,內部支持多種“模式”,可以調整當前程序,讓他應用那種模式。
因此就可以借助“開關”來切換模式!軟件的開關通常會用一個“圖形化界面”,但是對于 MySQL 等????程序猿????專用軟件則一般沒有對應的圖形化界面表示開關。只是通過一個專門的文件,來保存這些開關。這個文件就是 “配置文件”。
因此程序猿如果要調整這些開關,就要手動修改這個文件。
1、找到MySQL的配置文件
每個人電腦上的配置文件路徑不一樣,我們可以‘服務’來找到其對于的路徑

然后在服務中,找到MySQL,在常規(guī)中找到可執(zhí)行文件路徑,復制下來。

大家可以像我一樣,把路徑復制下來放到畫圖中方便查看。如下圖,畫紅線的就是MySQL配置文件路徑,接著我們根據路徑去查找配置文件

在查找過程中 大家肯能找不到 ProgramData 文件,一般這個文件都是隱藏起來的,我們點擊顯示隱藏項目就會出現(xiàn)。
2、修改文件
找到 后綴為 .ini 文件后,我們可以記事本打開編輯。
注意:
大家在進行編輯之前,一定要先備份?。?!
這樣的文件非常關鍵,一旦改錯了,mysql 就啟動不了了!!
如何備份:我們直接選中文件,賦值粘貼即可。
首先在文件中找到[mysql],在下面添加下面 default-character-set=utf8

注意:=兩側不要有空格
然后找到[mysqld],把 下圖話紅框的地方改成 character-set-server=utf8 ,改好后退出保存

3、重啟MySQL服務器(重要)
MySQL是一個客戶端服務器程序,我們要重啟MySQL服務器。我們在服務中找到MySQL之后,右鍵點擊重啟。重啟后MySQL顯示‘正在運行’,即重啟成功!
注意:重啟的是MySQL服務器,不是MySQL客戶端
如果啟動失敗,可能是配置文件出錯,大家可以回去檢測一下是不是有拼寫錯誤或空格多打的情況

到這里就配置成功了,我們可以去嘗試建庫插入中文試試
剛才該的配置,影響的是新的庫。舊的庫,仍然是之前的編碼!?。?一定要記得刪庫,重新建庫

總結
到此這篇關于MySQL插入不了中文數(shù)據問題的原因及解決的文章就介紹到這了,更多相關MySQL插入不了中文數(shù)據內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
MySQL特定表全量、增量數(shù)據同步到消息隊列-解決方案
mysql要同步原始全量數(shù)據,也要實時同步MySQL特定庫的特定表增量數(shù)據,同時對應的修改、刪除也要對應,下面就為大家分享一下2021-11-11
六條比較有用的MySQL數(shù)據庫操作的SQL語句小結
本文我們主要介紹了MySQL數(shù)據庫中的六條比較有用的SQL語句,對于初學者來說,可以直接套用下面的格式即可完成相應的功能,希望本次的介紹能夠對您有所幫助。2011-08-08
Mysql運行環(huán)境優(yōu)化(Linux系統(tǒng))
這篇文章主要介紹了Mysql運行環(huán)境優(yōu)化(Linux系統(tǒng)),本文優(yōu)化了修改Linux默認的IO調度算法、擴大文件描述符、禁用numa特性、修改swappiness設置、優(yōu)化文件系統(tǒng)掛載參數(shù)等配置,需要的朋友可以參考下2015-02-02




