• Web编码规范中文乱码解决方案


    Web编码规范

    IDEeclipse 4.2.2

    项目构建工具:maven 3

    框架:Srping MVC

    统一编码:UTF-8

    1 文本编码

    1.1 Eclipse编码

    Eclipse的默认编码方式与计算机环境有关,在window下默认的为GBK,我们这里统一改成UTF-8,这里有两种方式来进行一种是整个eclipse的所有文本编码,另外一种是单项目的。

    1、eclipse编码格式设置:windows->preferences->General->WorkSpace

     

    2、项目编码格式设置:项目右击->properties->resources

     

    1.2 JSP编码

    在eclipse中新建jsp文件时,会自动帮你设置好编码,不过默认的情况下会设置成ISO-8859-1这不是我们想要的,所以设置成UTF-8。

    Windows->preferences-web->jsp File

     

           <%@ page language="java" pageEncoding="utf-8"%>就是JSP翻译成servlet时所指定的编码方式。

    1.3 Maven编码

    1、maven编译文件的编码设置

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>2.0.2</version>
                    <configuration>
                        <source>${java.version}</source>
                        <target>${java.version}</target>
                        <encoding>UTF-8</encoding>
                    </configuration>
                </plugin>

    2、maven资源文件编码设置

        <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>2.3</version>
                    <configuration>
                        <encoding>UTF-8</encoding>
                    </configuration>
            </plugin>

        如果不设置的话会用本地操作系统的编码来编译文件。这里主要设置就是<encoding>这个节点

    2 浏览器和服务器间传输数据的编码设置

    2.1 浏览器端编码

    1、一般有服务端告诉浏览端该如何解码。如果JSP作为视图的话,用下面的方式设置。

      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    2、浏览器在接收或发送数据时,会对URL和参数会进行URL解码(接收)或编码(发送)

      <%@ page language="java" contentType="text/html; charset=utf-8" %>

    2.2 服务器端编码

    浏览器默认使用ISO-8859-1进行编码数据,然后将数据传输到服务器,因此我们默认只需要将浏览器发送过来的数据转换为我们需要的编码即可。

    1、过滤器编码设置web.xml

        <filter>
            <filter-name>SpringCharacterEncodingFilter</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>

    2、GET编码方式解决

    TOMCAT默认ISO-8859-1 因此可以设置默认编码为UTF-8解决。理论上,这样设置好之后,filter也可以不用配置。

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

    3、eclipse中server编码设置

    在开发项目的过程中,我们一般会直接用eclipse里面的tomcat,这样也方便调试。这个时候,我们也需要对eclipse里面的tomcat进行配置。如果,你新建一个server时,就会多一个Servers的项目直接在里面配置就好了。

    PS:现在还只研究了一部分,肯定还是问题多多,希望后面的过程中不断补充。大家有什么地方需要规范的,也希望告诉我。 

  • 相关阅读:
    postgreSQL数据库to_timestamp和to_date的区别
    【spring boot】注解@ApiParam @PathVariable @RequestParam三者区别
    hutool的json工具完成list和json之间的转换
    springboot集成swagger之knife4j实战(升级版)
    FISCO BCOS 控制台 部署合约 调用 查看已部署合约的地址
    【shell】远程执行shell|多节点并行执行shell|远程执行注意
    IDEA和GIT关于文件中LF和CRLF问题
    Linux openssl 升级、降级
    Xshell无法连接22端口问题解决办法汇总
    Spring MVC 中 DefaultServletHandlerConfigurer
  • 原文地址:https://www.cnblogs.com/wukenaihe/p/3066593.html
Copyright © 2020-2023  润新知