Home > Java > JavaBase > body text

Java submission garbled code solution

Release: 2019-12-17 14:54:13
Original
2423 people have browsed it

Java submission garbled code solution

Solution to java submission of garbled characters:

1. If the submission method is post, and you want to avoid garbled characters, you only need to set the encoding of the request object on the server side. The client Which encoding is submitted by the client, the server-side request object is received in the corresponding encoding. For example, if the client is submitted in UTF-8 encoding, then the server-side request object is received in UTF-8 encoding (request.setCharacterEncoding("UTF -8"))

2. If the submission method is get, setting the encoding of the request object is invalid. The request object still receives data in the default ISO8859-1 encoding. Therefore, if you want to avoid garbled characters, you can only After receiving the data, manually convert it. The steps are as follows:

1). Obtain the data submitted by the client, and what you get is a garbled string, data="???è?????"

String data = request.getParameter("paramName");
Copy after login

2). Search the ISO8859-1 code table and get the byte array of the original data submitted by the client

byte[] source = data.getBytes("ISO8859-1");
Copy after login

3). Construct characters with the specified encoding through the byte array String, solve garbled characters

data = new String(source, "UTF-8");
Copy after login

Construct a string with the specified encoding through a byte array. The encoding specified here is based on the character encoding used by the client when submitting data. If it is GB2312 , then set it to data = new String(source, "GB2312"), if it is UTF-8, then set it to data = new String(source, "UTF-8")

3. Client If you want to transmit data to the server, you can submit it through a form, or you can add parameters after the hyperlink. For example:

<a href="${pageContext.request.contextPath}/servlet/RequestDemo05?userName=gacl&name=房明">点击</a>
Copy after login

Click the hyperlink, and the data is transmitted to the server in the form of get, so receive The problem of Chinese garbled characters will also occur when using Chinese data. The method to solve the problem of Chinese garbled characters is the same as the above-mentioned method of handling the problem of garbled Chinese data when submitting forms in the get method, as shown below:

String name = request.getParameter("name");
name =new String(name.getBytes("ISO8859-1"), "UTF-8");
Copy after login

In addition, there are other things that need to be mentioned One point is that if the URL address is followed by Chinese data, then the Chinese parameters are best processed using URL encoding, as shown below:

<a href="${pageContext.request.contextPath}/servlet/RequestDemo05?userName=gacl&name=<%=URLEncoder.encode("房明", "UTF-8")%>">点击</a>
Copy after login

For more java knowledge, please pay attention to the java basic tutorial column.

The above is the detailed content of Java submission garbled code solution. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!