java前后端开发中乱码问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/fanlulu2015/article/details/50350840

JSP页面中避免乱码:

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

html页面中避免乱码:

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

含有Spring框架的web工程中乱码解决:在web.xml中配置

<!--中文乱码处理  -->
    <filter>
        <filter-name>encodingFilter </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>

仅仅对post请求有效,若需要解决get请求乱码,还需要去Tomcat目录,conf文件夹下的server.xml

打开server.xml,找到 <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

在最后加上URIEncoding="UTF-8"

最终效果

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="UTF-8" />这样就可以解决get请求乱码问题

servlet中乱码问题

get请求这样解决:

String  args = request.getParameter("args");

String str = new String(args.getBytes("ISO-8859-1"),"utf-8")

post请求这样解决:

request. setCharacterEncoding(“UTF-8”);

在响应中乱码解决:

response.setContentType(“text/html;charset=utf-8”);

response. setCharacterEncoding(“UTF-8”);




展开阅读全文

没有更多推荐了,返回首页