zoukankan      html  css  js  c++  java
  • Tomcat 改服务器编码(Java 修改字符串编码格式)

    对于客户端发来的汉字,我们一般需要转码:

    ------------------------------------------------------------------------------------

    request.setCharacterEncoding("UTF-8");//这样设置客户机发来数据文字格式只对post方式有效

    String line = request.getParameter("username");  

    System.out.println(line);

    -------------------------------------------------------------

    String line = request.getParameter("username");

    line=(new String(line.getBytes("iso8859-1"),"UTF-8"));//对于get方式,只能这样了。

    -------------------------------------------------------------------------------------

    有没有办法不用这么麻烦?有,配置Tomcat服务器的server.xml 中的connector

    先看一下API:http://localhost:8080/docs/config/http.html

    URIEncoding

    This specifies the character encoding used to decode the URI bytes, after %xx decoding the URL. If not specified, ISO-8859-1 will be used.

    意思是如果不配置这个URIEncoding 那么采用默认的ISO-8859-1

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

    这样配置即可。

    还有一个方法:

    useBodyEncodingForURI

    This specifies if the encoding specified in contentType should be used for URI query parameters, instead of using the URIEncoding. This setting is present for compatibility with Tomcat 4.1.x, where the encoding specified in the contentType, or explicitly set using Request.setCharacterEncoding method was also used for the parameters from the URL. The default value is false.

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

    这样一改,那么:

    request.setCharacterEncoding("UTF-8");//这样设置客户机发来数据文字格式就不只对post方式有效了,对get方式也有效。

    Tomcat 的log乱码解决方式:

    catalina.bat 中找到这一句

    set LOGGING_CONFIG=-Djava.util.logging.config.file="%CATALINA_BASE%conflogging.properties"      在后边加上:-Dfile.encoding="UTF-8" 

  • 相关阅读:
    POJ2888 Magic Bracelet [矩阵快速幂+Burnside+欧拉函数]
    数列的 GCD [计数问题]
    com组件的注册
    WCF 传输和接受大数据
    数据库中已存在名为 'View_Business' 的对象。
    windows 两个用户,默认其中一个用户登录
    用C#读取,写入ini文件
    小心得,关于串口
    未能加载文件或程序集"Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad
    无法激活服务,因为它不支持 ASP.NET 兼容性
  • 原文地址:https://www.cnblogs.com/flying607/p/3451854.html
Copyright © 2011-2022 走看看