해결책 1(파악된 매개변수가 많으면 효율성이 떨어집니다.)
브라우저의 기본 인코딩은 ISO-8859-1입니다. 백엔드 서블릿은 요청 매개변수를 수신하여 ISO에 따라 디코딩합니다. -8859-1을 사용하여 바이너리 스트림을 얻은 다음 UTF-8로 인코딩합니다.
샘플 코드:
// 获得请求参数 String queryString = request.getQueryString(); // 按照ISO-8859-1方式解码 byte[] bytes = queryString.getBytes("ISO-8859-1"); // 按照UTF-8编码 String param = new String(bytes,"UTF-8");
해결 방법 2(이 방법은 get 요청만 지원)
서버(tomcat) 구성 수정: server.xml에서 기본값은 ISO-8859-1(표시되지 않음)입니다. UTF-8
해결책 3(이 방법은 게시 요청만 지원)
서블릿에서 직접 요청 매개변수 인코딩 설정--권장
//设置请求参数编码 request.setCharacterEncoding("UTF-8");
Response garbled--Response
// 设置MIME类型 response.setContentType("text/html"); // 设置编码 response.setCharacterEncoding("UTF-8"); //设置编码(简写) response.setContentType("text/html;charset=utf-8");
자세히 알아보려면 비용을 지불하세요. Java Basic Tutorial 칼럼을 주목해 주세요.
위 내용은 Java에서 잘못된 문자를 처리하는 여러 가지 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!