JSP 중국어 난 코드 해결 방법 공유
JSP 페이지 에서 중국어 디 스 플레이 의 난 장 판 은 두 가지 상황 이 있 습 니 다.하 나 는 HTML 의 중국어 난 장 판 이 고 다른 하 나 는 JSP 에서 동적 으로 출력 된 중국어 난 장 판 입 니 다.
JSP 프로그램 먼저 보기:
<%@ page language="java" import="java.util.*" %>
<html>
<head>
<title> </title>
</head>
<body>
:
<%
String str = " ";
out.print(str);
%>
</body>
</html>
위의 JSP 프로그램 은 페이지 에 중국 어 를 몇 마디 표시 하 는 것 처럼 보이 고 제목 도 중국어 입 니 다.실행 후 브 라 우 저 에 그림 과 같이 표시 합 니 다.JSP 에 페이지 에 표 시 된 인 코딩 이 지정 되 어 있 지 않 기 때 문 입 니 다.인 코딩 을 없 애 는 솔 루 션 은 간단 합 니 다.위의 코드 에서 page 명령 을 다음 과 같이 수정 하면 됩 니 다.
<%@ page language="java" import="java.util.*" contentType="text/html; charset=GB2312" %>
<html>
<head>
<title> </title>
</head>
<body>
:
<%
String str = " ";
out.print(str);
%>
</body>
</html>
다시 실행 하면 인 코딩 이 사라 집 니 다.원 리 는 페이지 에 GB 2312 로 인 코딩 을 지정 하면 페이지 가 이 인 코딩 에 따라 표시 되 고 인 코딩 이 사라 집 니 다.2.URL 전달 매개 변수
일반적으로 get 방법 으로 양식 을 제출 할 때 전달 하 는 매개 변 수 는 중국어 일 경우 오류 가 발생 할 수 있 습 니 다.
다음은 예제 프로그램 이다.
<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>URL </title>
</head>
<%
String param = request.getParameter("param");
%>
<body>
<a href="URLCharset.jsp?param=' '"> </a><br>
:<%=param%>
</body>
</html>
위의 JSP 프로그램의 기능 은 URL 링크 를 통 해 자신 에 게 매개 변 수 를 전달 하 는 것 입 니 다.이 매개 변 수 는 중국어 문자열 입 니 다.이 프로그램의 실행 효 과 는 다음 그림 과 같 습 니 다.URL 이 중국어 파 라 메 터 를 전달 하 는 데 있어 서 처리 방법 이 특수 합 니 다.이 중국어 문자열 을 바 꾸 거나 JSP 페이지 디 스 플레이 인 코딩 을 설정 하 는 것 만 으로 는 문 제 를 해결 할 수 없습니다.Tomcat 서버 의 프로필 을 수정 해 야 문 제 를 해결 할 수 있 습 니 다.Tomcat 의 conf 디 렉 터 리 에 있 는 server.xml 프로필 을 수정 합 니 다.구체 적 으로 변 경 된 코드 는 다음 과 같 습 니 다.
<Connector port="8080" protocol="HTTP/1.1" URIEncoding="gb2312"
connectionTimeout="20000"
redirectPort="8443" />
원래 코드 에 URI 인 코딩 설정 URIEncoding="gb 2312"를 추가 하면 Tomcat 서버 를 다시 시작 하면 올 바른 페이지 를 얻 을 수 있 습 니 다.그 원리 도 위의 상황 과 유사 하 다.즉,프로그램 에 인 코딩 유형 을 가리 키 고 표시 하면 정상이다.3.양식 제출
폼 의 데 이 터 는 request.getParameter(")방법 으로 얻 을 수 있 지만 폼 에 중국어 데이터 가 나 올 때 오류 가 발생 합 니 다.
예제 코드 는 다음 과 같다.
<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>Form </title>
</head>
<body>
<font size="2">
:
<form action="AcceptFormCharset.jsp" method="post">
:<input type="text" name="userName" size="10"/>
:<input type="password" name="password" size="10"/>
<input type="submit" value=" ">
</form>
</font>
</body>
</html>
위의 양식 에서 AcceptFormCharset 이 페이지 에서 두 가지 데 이 터 를 제시 하고 싶 습 니 다.다음은 AcceptFormCharset.jsp 의 내용 입 니 다.
<%@ page language="java" import="java.util.*"
contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>Form </title>
</head>
<body>
<font size="2"> request :<br>
<%
String userName = request.getParameter("userName");
String password = request.getParameter("password");
out.println(" userName :" + userName + "<br>");
out.println(" password :" + password + "<br>");
%>
</font>
</body>
</html>
위의 프로그램 에서 폼 입력 에 중국어 가 없 으 면 입력 한 데이터 에 중국어 가 있 을 때 얻 은 결 과 를 그림 과 같이 정상적으로 표시 할 수 있 습 니 다.결과 가 나 온 이 유 는 Tomcat 에서 post 방법 으로 제출 한 폼 에 대한 기본 인 코딩 은 ISO-8859-1 이 며,이러한 인 코딩 형식 은 중국어 문 자 를 지원 하지 않 기 때 문 입 니 다.이 문 제 는 인 코딩 형식 을 바 꾸 는 방법 으로 해결 할 수 있 습 니 다.현재 AcceptFromCharset 페이지 를 다음 과 같이 변경 합 니 다.
<%@ page language="java" import="java.util.*"
contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>Form </title>
</head>
<body>
<font size="2"> request :<br>
<%
String userName = request.getParameter("userName");
String password = request.getParameter("password");
out.println(" userName :" + new String(userName.getBytes("ISO-8859-1"), "gb2312")+ "<br>");
out.println(" password :" + new String(password.getBytes("ISO-8859-1"), "gb2312")+ "<br>");
%>
</font>
</body>
</html>
이러한 변환 인 코딩 을 거 친 후 모든 중국어 입력 은 request 대상 으로 정상적으로 꺼 낼 수 있 습 니 다.위 프로그램 에서 네 번 째 줄 과 다섯 번 째 줄 은 인 코딩 형식 을 바 꾸 는 관건 입 니 다.ISO-8859-1 형식의 문자열 에서 바이트 내용 을 꺼 낸 다음 GB 2312 의 인 코딩 형식 으로 새로운 문자열 을 다시 만 듭 니 다.이렇게 하면 중국어 가 옅 어 지 는 입력 의 정상 적 인 수치 와 표 시 를 지원 할 수 있다.개선 후 프로그램 실행 결 과 는 다음 과 같 습 니 다.위의 인 코딩 형식 변경 처 리 를 통 해 폼 의 중국어 입력 오류 문제 가 해결 되 었 습 니 다.그러나 위의 폼 의 입력 항목 이 두 개 에 그 치지 않 는 다 면 모든 입력 항목 이 인 코딩 변환 을 해 야 하기 때문에 매우 번거롭다.이것 은 우리 가 명성 이 자자 한 필터 filter 를 사용 한 것 이다.이곳 의 내용 에 대한 대체적인 고려 는 위의 것 과 마찬가지 로 구체 적 인 방법 은 필자 의별 편를 참조 하 시기 바 랍 니 다.
4.Eclipse 에서 JSP 파일 중국어 난호
Eclipse 나 MyEclipse 에 서 는 기본 JSP 인 코딩 형식 이 ISO-8859-1 이기 때문에 다른 편집기 에서 편집 한 JSP 파일 을 열 때 오류 가 발생 합 니 다.그림 과 같 습 니 다.
이 문제 에 대해 서 는 Eclipse 나 MyEclipse 에서 JSP 에 대한 기본 인 코딩 만 변경 하면 됩 니 다.수 정 된 곳(나의 MyEclipse 버 전 은 11)은 그림 과 같 습 니 다.
PS
Eclipse 나 MyEclipse 에서 JSP 파일 의 기본 인 코딩 은 ISO-8859-1 이 므 로 JSP 코드 중간 에 중국어 가 나 오 면 저장 할 수 없습니다.예 를 들 어 다음 코드 입 니 다.
<%@ page language="java" import="java.util.*" %>
<html>
<head>
<title> </title>
</head>
<body>
:
<%
String str = " ";
out.print(str);
%>
</body>
</html>
수정 후 저장 할 때 다음 과 같이 알려 줍 니 다.이 알림 의 원인 은 JSP 원본 파일 에 ISO=8859-1 인 코딩 으로 인식 할 수 없 는 중국어 문자 가 있 기 때 문 입 니 다.이 문제 에 대해 해결 방법 은 JSP 페이지 에서 페이지 인 코딩 형식 을 설명 하면 됩 니 다.설명 후 코드 는 다음 과 같 습 니 다.
<%@ page language="java" import="java.util.*" pageEncoding="GB2312" %>
<html>
<head>
<title> </title>
</head>
<body>
:
<%
String str = " ";
out.print(str);
%>
</body>
</html>
그 중에서 첫 번 째 줄 에서 pageEncoding="gb 2312"는 JSP 페이지 인 코딩 이 GB 2312 를 사용 하면 JSP 의 원본 파일 을 정상적으로 저장 할 수 있 음 을 가리킨다.이상 은 본문 에서 말 한 모든 내용 이 니 여러분 들 이 좋아 하 시 기 를 바 랍 니 다.
친구 에 게 글 을 공유 하거나 댓 글 을 남 기 는 데 시간 이 좀 걸 리 세 요.우 리 는 진심으로 당신 의 지지 에 감사 할 것 입 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
검색 사이트를 만들었으므로 정리해 보았습니다 1■목차 · 처음에 · 사이트 구성 · DB 구성 ・테이블 내용 ・급제점 ■ 처음에 Jsp·서블릿을 학습해, 뭔가 만들려고 생각했기 때문에 스포츠 짐의 검색 사이트를 만들어 보았다. 현재의 스포츠 체육관 검색 사이트는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.