zoukankan      html  css  js  c++  java
  • 调用req.getParameter方法出现中文乱码(全是问号???)

    在java开发中,如果编码配置不统一,很容易出现中文乱码的情况,这里就记录下自己遇到的调用req.getParameter方法出现中文乱码,并解决这一情况的方法

    注意修改以下几个地方

    1.jsp页面中的编码

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    2.连接数据库时配置的编码

    jdbc:mysql://localhost:3306/goods?useUnicode=true&characterEncoding=UTF-8
    3.servlet的请求方法中设置编码

    req.setCharacterEncoding("UTF-8");
    resp.setCharacterEncoding("UTF-8");
    4.tomcat安装目录下conf文件下server.xml中在以下位置添加代码

    useBodyEncodingForURI="true" URIEncoding="UTF-8"

    <Connector port="8080" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" 
    	       useBodyEncodingForURI="true" URIEncoding="UTF-8"/>
    两个参数的作用:

     useBodyEncodingForURI参数表示是否用request.setCharacterEncoding参数对URL提交的数据和表单中GET方式提交  的数据进行重新编码,在默认情况下,该参数为false。
     URIEncoding参数指定对所有GET方式请求进行统一的重新编码(解码)的编码。

    URIEncoding和useBodyEncodingForURI区别是:
    URIEncoding是对所有GET方式的请求的数据进行统一的重新编码,
    而useBodyEncodingForURI则是根据响应该请求的页面的request.setCharacterEncoding参数对数据进行的重新编码,不同的页面可以有不同的重新编码的编码




  • 相关阅读:
    sql developer Oracle 数据库 用户对象下表及表结构的导入导出
    安装Win7和Office2010并激活
    Python内置方法的时间复杂度(转)
    服务框架Dubbo(转)
    ntpd和ntpdate
    ntpdate server时出错原因及解决
    什么才是程序员的核心竞争力
    使用DNSPod来处理网站的均衡负载(转)
    ubuntu设置服务开机启动
    Linux运行级别
  • 原文地址:https://www.cnblogs.com/tonghao/p/8506014.html
Copyright © 2011-2022 走看看