Java Web Project에서는 중국어가 달린 코드를 해결하는 방법이 다음과 같이 요약됩니다.
첫 번째 사례 : JSP 페이지를 호출하여 중국어 <br /> 문제 설명 : 브라우저를 통해 JSP 페이지를 호출하면 브라우저에 표시된 중국 내용에 차량 코드가 나타납니다.
솔루션 : 먼저이 JSP가 편집기에 파일 내용을 저장하면 UTF-8의 인코딩 형식을 사용한 다음 <%@ pageencoding = "UTF-8"%>를 JSP 페이지의 시작 부분에 추가 하여이 문제를 해결하기 위해이 문제를 해결합니다.
두 번째 사례 : 서블릿 페이지에 호출하는 것은 차량 코드를 보여줍니다.
문제 설명 : 브라우저를 통해 서블릿을 호출 할 때 서블릿에 표시된 내용이 밝혀졌습니다.
솔루션 : 서블릿이 응답 객체를 사용하여 출력을 사용하기 전에 응답을 실행합니다. 출력 컨텐츠의 인코딩을 UTF-8로 설정하십시오.
세 번째 사례 : 게시물 양식의 차량 코드
문제 설명 : JSP, HTML 또는 서블릿의 양식 요소를 통해 매개 변수를 해당 JSP 또는 서블릿에 제출하면 수신 된 JSP 또는 서블릿에서 수신 된 매개 변수가 중국어로 표시됩니다.
예를 들어:
다음과 같이 JSP 코드를 제출하십시오.
<%@ page language = "java"pageencoding = "utf-8"%> <html> <head> <title> form </title> </head> <form id = "inputform"name = "inputform"method = "post"action = "display.jsp"> username : <input type = "text"name = "username"/<bb pasublice " 이름 = "비밀번호"/> <br/> <입력 유형 = "제출"이름 = "제출"value = "제출"// </form> </body> </html>
매개 변수를 수신하는 JSP 코드는 다음과 같습니다.
<% @ page language = "java"pageencoding = "utf-8"%> <html> <head> <tilte> 수신 양식 </title> </head> <body> <% request.setcharacterencoding ( "UTF-8"); %> username : <%= request.getParameter ( "username")%> <br/> 비밀번호 : <%= request.getParameter ( "password")%> <br/> </body> </html>
솔루션 : 제출 된 매개 변수를 수신하기 전에 request.setcharacterencoding ( "UTF-8")을 사용하여 수신 된 매개 변수의 컨텐츠 형식을 UTF-8 인코딩으로 설정하십시오. 수신 양식의 삽입 내용을 참조하십시오. 물론, 이런 종류의 문제에 대해 중국 필터를 사용하는 것이 가장 좋습니다.
네 번째 사례 : URI 메소드는 차량 매개 변수를 전달합니다
문제 설명 : 양식을 사용하여 매개 변수를 전달할 때 게시물을 통과하거나 얻을 수 있습니다. 양식은 적용되지 않습니다. 링크 메소드를 사용하여 매개 변수를 전달할 수도 있습니다. 이 매개 변수를 전달하는이 방법은 본질적으로 매개 변수를 GET으로 전달합니다. 이 방법으로 전달 된 매개 변수는 중국어로 나타날 때도 멍청한 것처럼 보일 수 있습니다.
좋다:
다음과 같이 코드를 복사하십시오. <a href = "/webproject/display.jsp? username = zhang san & password = 123"> 사용자 이름과 암호 표시 </a>
솔루션 : 문제의 본질은 GET 메소드가 전달한 매개 변수 컨텐츠의 기본 인코딩 메소드가 ISO8859-1을 요청하고 요청을 사용하여 문제를 해결할 수 없다는 것입니다. 이 문제를 해결하려면 Tomcat 서버의 구성 파일을 수정하십시오. Tomcat 디렉토리에서 conf/server.xml 파일의 43 행을 수정하십시오.
수정 전 :
<커넥터 포트 = "8080"프로토콜 = "http/1.1"maxthreads = "150"ConnectionTimeout = "20000"redirectport = "8443"/>
수정 된 컨텐츠 :
<커넥터 포트 = "8080"프로토콜 = "http/1.1"maxthreads = "150"ConnectionTimeout = "20000"redirectport = "8443"uriencoding = "utf-8"/>
이것은 이러한 유형의 차량 문제를 해결할 수 있습니다.
다섯 번째 상황 :
문제 설명 : 일부 클래스 라이브러리 또는 프레임 워크를 사용할 때는 페이지 컨텐츠의 국제화를 달성하기 위해 해당 속성 파일을 작성해야합니다. 속성 파일의 중국 내용은 표시되면 차단됩니다.
솔루션 :이 문제는 JDK의 Native2ASCII 도구에 의해 해결 될 수 있습니다. 다음 명령을 사용하십시오.
코드를 다음과 같이 복사하십시오. avative2ascii -Encoding utf -8 display.properties display_zh_cn.properties
문제의 이유는 Java 컴파일러가 라틴어 1 또는 유니 코드로 인코딩 된 문자 파일 만 처리 할 수 있기 때문입니다.
위의 내용은이 기사에 관한 모든 것입니다. 모든 사람의 학습에 도움이되기를 바랍니다.