zoukankan      html  css  js  c++  java
  • jsp中文乱码问题完全解决方案


    1
    页面乱码 即在jsp中写入中文,但是现实为乱码

    在http的响应(response)中添加编码信息,使用如下方式:

    <%@ page contentType="text/html; charset=gb2312"%>

    这段要放在jsp页面的第一行,用来指定响应的类型和编码格式,contentType为text/html就是html内容,charset表示编码为gb2312。这样浏览器就可以从响应中获得编码格式了。

    表示java在将jsp编译成html的时候用gb2312编码格式 

    还需要在html中指定编码格式。

    <head>

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

    </head>

    meta的作用是众所周知的为IE浏览器提供编码选择,是用来显示最后的数据的。

     
    2 POST乱码
    Html发送请求的时候,使用的编码是iso-8859-1(这是传递参数的默认编码格式),意味着只有英文是有效字符
    解决方法:

    request.setCharacterEncoding("gb2312");

    表示在网页之间传递参数的时候指定编码格式为gb2312。不是iso8859-1了
     
    3 GET乱码

    POST方式下的解决方式还算简单,因为POST方式下提交的数据都是以二进制的方式附加在http请求的body部分发送,只需要在后台指定编码格式就足矣解决。

    get不能用request.setCharacterEncoding("gb2312");这句了

    必须自己一个个将参数解码 即:

    <%=new String(new String(request.getParameter("username").getBytes("iso-8859-1"), "gb2312")%>

  • 相关阅读:
    题目1101:计算表达式
    九度oj 题目1107:搬水果
    [Hihocoder] 字符串排序
    [hzwer] 模拟T
    [Luogu] 宝藏
    [Luogu] 列队
    [Luogu] 奶酪
    [Luogu] 逛公园
    [Luogu] 时间复杂度
    [Luogu] 小凯的疑惑
  • 原文地址:https://www.cnblogs.com/SuperXJ/p/1575268.html
Copyright © 2011-2022 走看看