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


    默认的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" />

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

    ==========

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

  • 相关阅读:
    [C#] 走进异步编程的世界
    [C#] C# 知识回顾
    [C#] 走进异步编程的世界
    [C#] 走进异步编程的世界
    [.Net] 手把手带你将自己打造的类库丢到 NuGet 上
    [.NET] WebApi 生成帮助文档及顺便自动创建简单的测试工具
    [C#] Linq To Objects
    [C#] Linq To Objects
    T-SQL:毕业生出门需知系列(九)
    TortoiseGit:记住用户名和密码
  • 原文地址:https://www.cnblogs.com/zhao1949/p/4881336.html
Copyright © 2020-2023  润新知