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" 

  • 相关阅读:
    设置DataGridView垂直滚动条
    在自定义MessageBox控件里添加键盘回车事件。
    通过访问注册表,表判断系统是否装excel
    让文本框里只能输入数字
    新晋菜鸟的错误
    jdbc连接数据库以及crud(简单易懂,本人亲测可用 有源代码和数据库)
    springboot 错误求解决
    maven 导包报错
    最短路径Dijkstra
    读写者问题
  • 原文地址:https://www.cnblogs.com/flying607/p/3451854.html
Copyright © 2011-2022 走看看