最近在學習struts+spring+hibernate,強烈推薦新手一本書:陳天河《輕量級web應用開發》,這本書是我見過的國內最好的書,初學者可以買本讀讀。
不說這個了,來說說我的問題吧,是這樣的,我用Eclipse搭建好了ssh,可是當我在網站上輸入數據提交到mysql的時候報錯,查看mysql數據表,居然沒有數據,一開始我就覺得是中文插入的問題,所以我試試沒有用中文的時候插入可有這個問題,這一次成功了,那么很顯然就是mysql編輯出現了問題。
因為我使用的是阿里雲服務器mysql的安裝也是使用他們家的一鍵安裝shell(題外話:我也准備學習Linux Shell,不過最近工作比較忙,再加上學習SSH,所以等有時間再買本書學習學習吧,要不然看不懂shell那就笑死人了),所以我也不知道mysql的配置文件在哪找而且怎么配置,因此在網上找答案,找了一大堆,惡心死我了。
解決問題:
進入CentOS,然后進入mysql #:mysql –uroot –pkey
查看mysql的字符編碼:#:show variables like 'character%'; 發現character_set_database和character_set_server 為latin1,所以要改成utf8,怎么修改呢?開始我按照的是這個網站上說明來改的,#:vim /etc/my.cnf ,可是就是報錯,心存不滿的我於是又在網上搜索這個問題,然后找到了這個問題的根本原因:這篇文章,上面是這樣說的:
[ 服務器端默認字符集設置,在[mysqld]下面添加:
5.5.19版本的是: character_set_server
之前的版本的是: default-character-set ]
按照上面講的然后再重啟mysql #:service mysqld restart,我修改之后果然成功了,太開心了!
注意圖一和圖三的區別哦,我也不知道為什么會出現這樣的問題,畢竟我沒有專門學習過mysql等有時間了專門買本書研習下mysql吧。
當我往mysql表里再次插入數據的時候還是報錯,是的,你沒有看錯還是報錯,然后我就想,可能這個庫是修改之前建的,所以就算你修改成功了,但是這個庫的編輯方式還是以前的,按照這個思維我就嘗試新建一個庫然后往表里面插入數據,果然成功,呵呵!