转载自   修改Tomcat编码方式的两种方法

方法一:推荐,不会影响到其它项目

见我的另一篇博客:http://www.cnblogs.com/x_wukong/p/3292664.html

修改方法:

修改tomcat下的conf/server.xml文件,找到Connector标签,添加useBodyEncodingForURI="true",如下代码:

<Connector port="8080" useBodyEncodingForURI="true" protocol="HTTP/1.1"connectionTimeout="20000"  redirectPort="8443" />

对于 URL 提交的数据和表单中 GET 方式提交的数据,在接收数据的 JSP 中设置 request.setCharacterEncoding 参数是不行的,因为在 Tomcat5.0 中,默认情况下使用ISO-8859-1 对 URL 提交的数据和表单中 GET 方式提交的数据进行重新编码(解码),而不使用该参数对 URL 提交的数据和表单中 GET 方式提交的数据进行重新编码(解码)。

要解决该问题,应该在 Tomcat 的配置文件的 Connector 标签中设置useBodyEncodingForURI 或者 URIEncoding 属性,其中 useBodyEncodingForURI 参数表示是否用 request.setCharacterEncoding 参数对 URL 提交的数据和表单中 GET 方式提交的数据进行重新编码,在默认情况下,该参数为 false (Tomcat4.0 中该参数默认为true );

URIEncoding 参数指定对所有 GET 方式请求(包括 URL 提交的数据和表单中 GET 方式提交的数据)进行统一的重新编码(解码)的编码。URIEncoding 和 useBodyEncodingForURI 区别是,URIEncoding 是对所有 GET 方式的请求的数据进行统一的重新编码(解码),而useBodyEncodingForURI 则是根据响应该请求的页面的request.setCharacterEncoding 参数对数据进行的重新编码(解码),不同的页面可以有不同的重新编码(解码)的编码。所以对于 URL 提交的数据和表单中 GET 方式提交的数据,可以修改 URIEncoding 参数为浏览器编码或者修改 useBodyEncodingForURI 为true ,并且在获得数据的 JSP 页面中 request.setCharacterEncoding参数设置成浏览器编码。

方法二:不推荐,有可能影响其他应用

默认情况下,tomcat使用的是iso8859-1的编码编码方式,浏览器的embed标签中src指向的地址要通过tomcat去解析。如果包含中文,采用这种编码方式就会出现乱码问题,而在这种情况下,乱码问题就表现出无法访问该音频文件了。



解决方法很简单:

修改tomcat下的conf/server.xml文件,如下代码:

<Connector port="8080"  URIEncoding="UTF-8" protocol="HTTP/1.1"connectionTimeout="20000" redirectPort="8443" />

这段代码规定了Tomcat监听HTTP请求的端口号等信息。可以在这里添加一个属性:URIEncoding,将该属性值设置为UTF-8,即可让Tomcat(默认ISO-8859-1编码)以UTF-8的编码处理get请求。

修改Tomcat编码方式的两种方法相关推荐

  1. 打开方式怎么用计算机程序,教你修改电脑程序默认打开方式的两种方法

    电脑程序默认打开方式 我们在使用Windows系统打开某些文件的时候,由于有些文件已经关联了一些默认程序,所以可以直接打开进行浏览,但有些用户可能不习惯使用默认的程序,那么该如何进行修改呢?修改的方法 ...

  2. 修改mysql数据库默认字符集_MySQL数据库之修改mysql默认字符集的两种方法详细解析...

    本文主要向大家介绍了MySQL数据库之修改mysql默认字符集的两种方法详细解析 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. (1) 最简单的修改方法,就是修改mysql的m ...

  3. 在装完Linux系统之后自己去修改Swap分区的大小(两种方法)

    在装完Linux系统之后自己去修改Swap分区的大小(两种方法)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:o ...

  4. Linux修改root用户密码的两种方法

    第一种方法 1.重启系统,按'E'进入编辑内核参数的页面. 2.找到linux行,末尾空格后输入 rd.break 然后按ctrl+x 3. 输入mount | grep sysroot(注意空格)查 ...

  5. mysql授权 改表_mysql开启远程登陆(修改数据表和授权两种方法)

    一.确认防火墙没有阻止3306端口(一般服务器默认会屏蔽掉) windows防火墙例外设置方法 控制面板(右上角选择查看方式为大图标)---防火墙---高级设置---高级设置---出站规则---最右边 ...

  6. 曼彻斯特编码_两种编码方式以及两种帧结构

    一.不归零制编码(Non-Return to Zero) 对于不归零制编码是最简单的一种编码方式,正电平代表1,负电平代表0.如下图: 其实在不归零制编码中有一个很明显的缺陷,那就是它不是自同步码. ...

  7. linux卸载mysql和myodbc_linux下卸载mysql rpm安装方式和源码安装方式的两种方法

    转自http://hi.baidu.com/myphpzone/blog/item/562e496f0dfbb1d680cb4a2d.html linux下MySQL卸载方法 一.源码安装的卸载方法: ...

  8. 修改C盘系统文件 Hosts 两种方法

    Hosts文件位置 第一种 直接修改属性 右键文件,选择属性,把 只读 选项的√取消掉,再保存 再右键,管理员模式打开,最后修改保存文件. 第二种方式 通过命令管理行(CMD)打开Hosts文件 通过 ...

  9. 修改MSSQL表所有者的两种方法

    网站更换空间的时候,经常会因为MSSQL数据库名不同,导致从旧空间备份的数据库在新空间还原后无法正常使用.这时候,我们可以通过将数据库表的所有者修改为"dbo"来解决这个问题,具体 ...

最新文章

  1. kmalloc、vmalloc、malloc的区别
  2. SHOP++源码部署说明:
  3. linux中awk工具的使用(转载)
  4. vscode python 自动补全_利用CodeBERT,这个VS Code扩展可以自动生成Python文档字符串...
  5. java 数据纠错,纠错码简介
  6. zookeeper中展示所有节点_zookeeper工作原理与节点使用
  7. Bluetooth---如何使用Android蓝牙开发
  8. C# Wke使用例子 (KyozyWke)
  9. 直播系统源码开发经验分享
  10. 推荐一个php Zend Guard解密工具 G-DeZender 本地版
  11. Oracle 数据库的常用备份方法
  12. Android开发网上的一些重要知识点[经验分享]
  13. 三丈红尘,八千里风月
  14. 【质量管理】SMT电子厂超实用的六西格玛(6σ)质量管理工具一览表!
  15. VSCode配置C++环境【报错interpreter=mi】
  16. android自定义插值器_自定义缓动插值器,可在Android中实现有意义的动作
  17. Docker方式部署Github监控系统Hawkeye
  18. 一文尽览!弱监督语义/实例/全景分割全面调研(2022最新综述)
  19. 讯飞——机器翻译,iOS的webapi接入教程
  20. C/C++ 视频播放器开发

热门文章

  1. [SpringSecurity]web权限方案_自动登陆_原理分析和具体实现
  2. [C++11]独占的智能指针unique_ptr的初始化和使用
  3. python操作excel_使用Python操作Excel时必学的3个库
  4. word List 48
  5. math:线性代数之行列式
  6. MATLAB读取文件夹及其所有子文件夹内的图像
  7. E. Almost Sorted(构造,递归)
  8. Educational DP Contest U - Grouping 状压dp
  9. Deltix Round, Spring 2021 E. Crypto Lights 组合数学 + 推公式
  10. 2016ICPC沈阳站