인터넷에는 문자 인코딩을 다루는 솔루션이 많이 있습니다. 여기서 저는 선배들의 어깨 위에 서서 나만의 요약을 작성합니다.
제 생각에는 잘못된 코드 문제에 대한 해결책은 간단히 세 위치에 인코딩을 설정하는 것입니다:
1. HTML 및 JSP와 같은 프런트 엔드 페이지
2. 백그라운드 서블릿의 요청 및 응답 개체;
3. 서버 구성 파일.
1. HTML, JSP 등 프런트 엔드 페이지에 인코딩이 나타나는 경우 먼저 프런트 엔드 페이지의 메타 태그에 인코딩이 올바르게 설정되어 있는지 확인하세요. 이 메타 태그도 페이지의 헤드입니다.
<span style="background-color: #ffff00; color: #000000"><%</span><span style="background-color: #f5f5f5; color: #000000">@ page language</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">java</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000"> import</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">java.util.*</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000"> pageEncoding</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">utf-8</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #ffff00; color: #000000">%><br></span>
2. 요청 및 응답의 백엔드 설정
2-1. 백그라운드에서 요청에 대한 인코딩이 설정되지 않은 경우 수신된 요청 내용이 깨집니다. 두 가지 상황을 고려해야 합니다:
2-1-1. Get 요청인 경우 먼저 URL 요청에서 매개변수를 얻습니다. 예:
String method = request.getParameter("method");
String parseMethod = new String(method.getBytes("ISO-8859-1"),"UTF-8");
2-1-2. Post 요청인 경우 요청 매개변수를 가져오기 전에 직접 인코딩을 설정하는 코드를 추가합니다. 즉, 요청 개체의 setCharacterEncoding 메서드를 호출하여 인코딩을 설정합니다.
request.setCharacterEncoding("UTF-8");
2.2. 백엔드가 비즈니스 로직 및 지속성 작업을 완료한 후 응답 스트림 데이터를 프런트엔드로 출력해야 할 수 있습니다. 출력 내용에 중국어가 포함되어 있으면 응답 개체의 인코딩을 설정해야 합니다. 응답 개체의 setContentType 메서드를 직접 호출할 수 있습니다:
response.setContentType("text/html;charset=utf-8");
3. 서버 구성 파일 설정
현재 두 단계가 여전히 작동하지 않으면 설치 디렉터리의 conf 폴더에도 설정해야 합니다. 예를 들어 내 서버는 E:tomcat7.0conf 입니다. 서버 구성 파일 server.xml을 찾아 설정합니다.
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>
위 내용은 JavaEE 개발 시 잘못된 문자 인코딩 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!