java项目编码问题解决

关于编码大致有以下几个地方需要注意
1.数据库的编码
mysql在创建数据库的时候指定编码

CREATE  DATABASE  ms_db  CHARACTER SET  utf8  COLLATE utf8_general_ci;

oracle在安装的时候一般是创建好字符集的,这里不做过多的介绍。

2.项目工程的编码
项目的编码在eclipse右击项目选择Propreties选择编码
3.项目连接数据库的连接的编码

jdbc.url=jdbc:mysql://localhost:3306/drink?useUnicode=true&characterEncoding=utf-8

这里是最容易忽视的一个地方,特别注意。

4.项目中获取参数与返回参数的编码
获取参数有两种情况:
get方式:在后台获取参数后转码
String string = new String(message.getBytes(“iso-8859-1”),”utf-8”);
修改tomcat配置文件
修改conf下的
server.xml中配置 Connector的URIEconding=”UTF-8”属性即可。(注意位置)

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>

在web.xml里设置过滤器

<filter>
        <filter-name>characterEncodingFilter</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>
    </filter>
    <filter-mapping>
        <filter-name>characterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

返回参数的编码设置:(springmvc为例)
注解方式:
@RequestMapping(value=”/respost”,method=RequestMethod.GET,produces=”text/html;charset=UTF-8”)

设置方式:

      <mvc:annotation-driven>  
                <mvc:message-converters>  
                    <bean class="org.springframework.http.converter.StringHttpMessageConverter">  
                        <property name="supportedMediaTypes">  
                            <list>  
                                <value>text/plain;charset=UTF-8</value>  
                                <value>text/html;charset=UTF-8</value>  
                            </list>  
                        </property>  
                    </bean>  
                    <bean  
                        class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">  
                        <property name="supportedMediaTypes">  
                            <list>  
                                <value>application/json; charset=UTF-8</value>  
                                <value>application/x-www-form-urlencoded; charset=UTF-8</value>  
                            </list>  
                        </property>  
                    </bean>  
                </mvc:message-converters>  
            </mvc:annotation-driven> 

总结:出现乱码有很多种情况,一个一个耐心排查一定会找出来的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值