最近在学习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表里再次插入数据的时候还是报错,是的,你没有看错还是报错,然后我就想,可能这个库是修改之前建的,所以就算你修改成功了,但是这个库的编辑方式还是以前的,按照这个思维我就尝试新建一个库然后往表里面插入数据,果然成功,呵呵!