In Java WEB projects, Chinese garbled characters are a frequently encountered and very troublesome problem. The link where garbled characters are most likely to occur is the process of the browser sending a request to the server. The following introduces the solution to this problem, I hope it will help everyone. The following transcoding is based on UTF-8. If it is other encoding formats, you can modify it yourself.
1. Response garbled code
(1) Set the server-side encoding: response.setCharacterEncoding("UTF-8");
This setting is above Be sure to precede the response.getWriter() method;
(2) Notify the browser of the data format sent: response.setContentType("text/html;charset=UTF-8");
(3) The browser uses UTF-8 for decoding.
2. Request garbled code
1. Submit in Post mode, the parameters exist in the request body, you only need to set this:
request.setCharacterEncoding("UTF-8");
2. Submit by Get method, the parameters will be spliced after the URI address, and the server will decode according to iso8859-1 by default. There are two solutions:
(1). Modify the reception in the program Request encoding (this method requires transcoding for every request, not recommended)
String str = request.getParameter("s"); str = new String(str.getBytes("iso8859-1"),"UTF-8")
(2) Find the server.xml file in the Tomcat installation folder, search for the
<Connector URIEncoding="UTF-8" port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" connectionTimeout="20000" disableUploadTimeout="true" />
Just add URIEncoding="UTF-8" to this tag and then restart tomcat.
For more java knowledge, please pay attention to java basic tutorial.
The above is the detailed content of Java post request garbled solution. For more information, please follow other related articles on the PHP Chinese website!