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")%>

  • 相关阅读:
    curl post
    mysql存储引擎
    梳理版本控制器:SVN和Git比较
    详细说明php的4中开源框架(TP,CI,Laravel,Yii)
    五种常见的 PHP 设计模式
    php+ajax实现跨域单点登录
    laravel
    Gitlab配置webhooks实现自动化部署
    linux CentOs7 安装gitlab
    身份证验证
  • 原文地址:https://www.cnblogs.com/SuperXJ/p/1575268.html
Copyright © 2011-2022 走看看