1. 程式人生 > >關於mysql無法新增中文資料的問題以及解決方案

關於mysql無法新增中文資料的問題以及解決方案

下面的方法是針對window系統的

注意:

1  下面的my.ini檔案在有些版本的Mysql中的安裝目錄找不到,比如我用的版本5.5.60-log就找不到,想要找到這個檔案,需要設定顯示window系統隱藏檔案(不懂的自行百度,因系統的版本不同而略有不同),然後回到c盤的根目錄,這時,你會看到ProgramData的資料夾

如圖:

點進去,找到MySQl,再找到名為MySQL Server 5.5的資料夾,my.ini檔案就在這個資料夾下。

2  就是所有的編碼格式都設定為utf8了,包括配置檔案、資料庫、表、欄位等都設定好了,就是插入不了中文,查閱了很多的資料,終於在下面這篇文章找到答案,原來是window的cmd視窗的編碼格式為gbk,解決方法在文章的最後。

  今天弄了一天的mysql資料庫,就是被一個mysql資料庫亂碼的問題給纏住了。現在記錄一下這個問題,雖然這個問題不是什麼太大的事情,但還是記錄一下。

  問題是這樣的:

  1、先在mysql的安裝檔案當中,找到配置mysql資料庫編碼的檔案。

    2、修改這兩處為utf8。

  

  3、建立一個名為test的資料庫並且設定預設編碼格式為utf8

  

  4、建立一個名為charTest1的表,並指定編碼為utf8

  

  5、檢視資料庫的編碼,已經全部改成了utf8

  

  6、再看一下當前資料庫的表的編碼

  

  7、到這裡的時候,我以為大功告成了,所有能設定的地方我都設定了,都設定的是ut8。然後,我執行了一下insert語句,報錯了!!!!!!!!

  

   這個錯誤糾結了一天,最後,看到了一篇部落格,部落格上面這麼寫:

   

   問題出在了CMD視窗,CMD視窗使用的編碼格式是gbk,這根本解決不了啊,唯一的辦法就是,不要用cmd視窗了,用圖形介面工具吧!!!如果非要用cmd視窗的話,那麼可以加這句話,set names gbk;加了這句話,我們再看資料庫的編碼格式,發生了明顯變化。

  

  這次再執行插入語句,

  

  成功了!!!

  原來這一切都是CMD在搗鬼!!!

  

   從上圖中可以看到 MySQL 有六處使用了字符集,分別為:client 、connection、database、results、server 、system。其中與伺服器端相關:database、server、system(永遠無法修改,就是utf-8);與客戶端相關:connection、client、results