引自:http://thoughtfly.iteye.com/blog/1533481

默认的tomcat容器如果直接使用get方式在url中传中文时,传到后台接收会是乱码。

乱码问题

原因:

tomcat默认的在url传输时是用iso8859-1编码。

解决方案一:

在使用get传输参数时,将参数中的中文转换成url格式,也就是使用urlEncode和urlDecode来传输,使用这种方式就是把中文转换成以%开头的编码在url中传输。

使用这种方法时,要注意两点。

1.前台使用urlencode,在后台相应的使用urldecode。

2.使用urlencode的内容是参数内空。千万要注意,他是会把等于号等符号也给转换了。所以,最好是先把参数传换后再进行拼接。而不是把url拼接好再去转换。

解决方案二:

配置tomcat,使用其在url传输过程中使用相应的支持中文的编码。一般国内的喜欢用gbk或gb2312。我个人建议使用utf-8

在tomcat的/conf/server.xml文件中,找到以下这一行。

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

这行的意思也就是使用8080端口来接收html的请求。在这里可以加几个参数来配置不同的效果。

URIEncoding="UTF-8" 设置url传输时对url内容的编码格式

compression="on" 打开压缩功能 

compressionMinSize="2048" 启用压缩的输出内容大小,这里面默认为2KB

noCompressionUserAgents="gozilla, traviata" 对于以下的浏览器,不启用压缩

compressableMimeType="text/html,text/xml" 压缩类型

对于要解决乱码来说,改成以下就行

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

要想页面打开更快点,就开启内容压缩功能,当然,前提是浏览也支持这种压缩。

Tomcat中Url中文乱码解决办法的更多相关文章

  1. Tomcat的URL中文乱码解决以及传输优化

    默认的tomcat容器如果直接使用get方式在url中传中文时,传到后台接收会是乱码. 乱码问题 原因: tomcat默认的在url传输时是用iso8859-1编码. 解决方案一: 在使用get传输参 ...

  2. Java URL 中文乱码解决办法

    一. 统一所有的编码格式 (1)JSP页面设置:<%@ page language="java" import="java.util.*" pageEnc ...

  3. 关于edoc程序tomcat post提交中文乱码解决办法

    1修改源码代码中页面部分指定转码格式为UTF-8替换原来的gb2312或GBK 2源码新增 water.edoc.service.FileFilter 过滤器并在web.xml首行添加制定格式 3to ...

  4. QT5.8+vs2015配置以及qt creater中出现中文乱码解决办法之一

    1.参考此文档:QT5.6+vs2015配置: 2.出现乱码问题时候 在头文件上加入: #pragma execution_character_set("utf-8") //加入这 ...

  5. PLSQL往表中插入中文乱码解决办法

    1.查看服务器端编码:select userenv('language') from dual; 2.查看第一行中PARAMETER项中为NLS_LANGUAGE 对应的VALUE项中是否和第一步得到 ...

  6. Python3 使用 logging.basicConfig() 配置输出日志中的中文乱码解决办法

    在源码中修改encoding='utf-8',因为 logging.basicConfig() 配置时实际上是用到了4大组件,只不过给了默认值而已,如果不知道怎么找到源码,告诉你们个快捷键,选中你lo ...

  7. NetBeans中文乱码解决办法

    一.Windows下NetBeans中文乱码解决办法 找到你的Netbeans安装目录下的etc文件夹,用记事本打开netbeans.conf,找到netbeans_default_options(不 ...

  8. [Linux] - CentOS中文乱码解决办法

    CentOS 7 终端中文乱码解决办法: 1.使用vim编辑locale.config文件: vim /etc/locale.conf 2.将LANG="en_US.UTF-8"修 ...

  9. Oracle导入中文乱码解决办法

    Oracle导入中文乱码解决办法 一.确保各个客户端字符集的编码同服务器字符集编码一致 1-       确定sqlplus字符集编码,如果是windows设置环境变量. 2-       确保Sec ...

随机推荐

  1. Xlua使用教程、攻略

    Xlua 使用指南 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享.心创新! ...

  2. 使用定时器通过改变图片的src来切换图片

    点击以后开始自动切换图片 $("#page3_cover_1_back").click(function(){ var i=3; var haha=setInterval(func ...

  3. 牛客国庆集训派对Day1-C:Utawarerumono(数学)

    链接:https://www.nowcoder.com/acm/contest/201/C 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 1048576K,其他语言20 ...

  4. linux下如何执行.sh文件 【转】

    Linux下如何运行.sh文件 是UNIX/LINUX 操作系统的脚本文件,SHELL文件. 本文转载自 http://whitepoplar.javaeye.com/blog/431967 Linu ...

  5. ubuntu shell插件

    1. NetSpeed 在状态栏显示当前网速 2. Screenshot Tool 同样在 Ubuntu 18.04 之前我们使用 Shutter,但在Ubuntu 18.04 Shutter的托盘图 ...

  6. ubuntu设置静态ip后不能上网

    加上下面的配置,然后重启 sudo vim /etc/resolvconf/resolv.conf.d/base nameserver 223.5.5.5nameserver 8.8.8.8names ...

  7. 计算字符串最后一个单词的长度,单词以空格隔开。 java算法

    import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner in = ne ...

  8. CH4908 Race

    题意 4908 Race 0x49「数据结构进阶」练习 描述 给定一棵 N 个节点的树,每条边带有一个权值. 求一条简单路径,路径上各条边的权值和等于K,且路径包含的边的数量最少. 输入格式 第一行两 ...

  9. setjmp与longjmp非局部跳转函数的使用

    [root@bogon code]# cat c.c #include<stdio.h> #include<setjmp.h> static jmp_buf env;//定义全 ...

  10. kubernetes 中,Pod、Deployment、ReplicaSet、Service 之间关系分析

    deploy控制RS,RS控制Pod,这一整套,向外提供稳定可靠的Service. 详见:https://blog.csdn.net/ucsheep/article/details/81781509