这几天做一个项目练习,汉字中文存入mysql就乱码
环境:
我的数据库是mysql,ide是myeclipse10,页面是jsp和html,框架是ssh的
问题:
刚开始发现中午输入就成了"????",每个字就一个?,我就后台输出看看,都没问题,但是存入数据库后,就出错;我用mysql-front直接添加数据则可以是中文,取出到页面也可以,没错。但从页面存入的就是错,于是我陷入的纠结之中,
解决:
首先,我去把数据库的各编码改成了utf-8,一试,不起作用,于是我把数据库里面的全部可以设置编码处都设置成了utf8,这还是没有帮我解决这个问题。
然后,我又在myeclipse中把jsp页面编码、xml编码等各种encoding都设置成了utf8,天气又冷手伸在外,可是它还是没有同情我,一如既往的错。
再然后,我试了又试,换个数据库试,用左手来点着试试,都不管用,耗费了不少时间。
最后,问题解决了!!!我在applicationContext.xml的数据库地址上加了一句“?useUnicode=true&characterEncoding=utf-8”,一试就成功了,当然第一步骤还是要有的,否则还会错……
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"> </property>
<property name="url"
value="jdbc:mysql://localhost:3306/db_librarysys?useUnicode=true&characterEncoding=utf-8">
</property>
<property name="username" value="root"></property>
<property name="password" value="123456"></property>
</bean>
总结:
也没什么总结,只是记下了以后以防以后忘记了,同时虽然事小,但是还是会浪费掉一些时间,所以给大家分享一下