• 调用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参数对数据进行的重新编码,不同的页面可以有不同的重新编码的编码




  • 相关阅读:
    c++中利用宏定义简化for循环使用
    UVA1152- 枚举 /二分查找
    acm 模板
    Xwindow的文章
    编程语言博客
    csh与bash比较
    关于锁与并发的资料总结
    linux su和sudo命令的区别
    对Memcached使用的总结和使用场景
    iptables配置——NAT地址转换
  • 原文地址:https://www.cnblogs.com/tonghao/p/8506014.html
Copyright © 2020-2023  润新知