作为一个自由程序人,最近开始开发一个web程序,开发工具用的Intellij idea,框架用的容易上手的springmvc.
开发过程中遇到的一些问题,只能靠之前的工作经验和伟大的搜索引擎。但是有些问题搜出来的都是大同小异,只能一遍一遍的测试,下面我把开发过程中遇到的中文乱码问题做了一个小小的总结,以便大家参考。
1.以POST方式提交表单时,出现的中文乱码问题
通过GET方式提交表单时,并没有出现乱码的问题,只是使用POST方时,才出现了乱码的问题。解决方式是在web.xml中添加一下配置信息:
<filter> <filter-name>Set Character Encoding</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>Set Character Encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>2.向页面输出信息时的中文乱码问题
通过@ResponseBody注解的方法,return时不是跳转页面,而是返回的是数据信息,但是也容易出现乱码问题。百度出来的方案都是在@RequestMapping中添加
produces = "text/plain;charset=UTF-8"
,但是乱码问题仍然存在,然后再在spring的配置文件中添加以下配置信息:
<mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes" value = "text/plain;charset=UTF-8" /> </bean> </mvc:message-converters> </mvc:annotation-driven>这样就可以了。
3.跳转页面时,向ModelMap中添加数据时的中文乱码问题
我使用的开发工具是Intellij idea,在ModelMap中添加的汉字,在页面上出现了乱码,解决方案是:
选择 File——>Settings
找到上图页面:把IDE Encoding 和 Project Encoding都设置为UTF-8.
4.另外,我使用的是mysql数据库,存储数据时,也可能出现中文的乱码,找到mysql安装的根目录,找到my.ini文件,打开后,进行以下设置
default-character-set=utf8
character-set-server=utf8
如果没有my.ini文件,百度一下,会有很多,找一个版本匹配的就可以了。
(注:第一次写博客,请大家多多指教。任何问题,请多多交流)
如果没有my.ini文件,百度一下,会有很多,找一个版本匹配的就可以了。
(注:第一次写博客,请大家多多指教。任何问题,请多多交流)