중국어 문제는 응용 프로그램에서 자주 발생하는 문제입니다.
여기에는 문자 디코딩 작업이 포함됩니다. 우리 애플리케이션에서는 종종 new String(fieldType.getBytes("iso-8859-1"), "UTF-8") 및 기타 유사한 방법을 사용하여 디코딩합니다. 그러나 이 방법은 특정 애플리케이션 환경에 따라 제한되며, 애플리케이션 배포 환경이 변경되면 중국어 왜곡 문자가 나타나는 경우가 많습니다.
모든 애플리케이션 배포 환경에서 사용할 수 있는 솔루션은 다음과 같습니다. 이 방법은 두 단계로 구성됩니다.
1. 클라이언트에서 인코딩하려면 escape(encodeURIComponent(fieldValue)) 메소드를 사용하십시오. 예:
다음과 같이 코드 코드를 복사합니다 .
title=escape(encodeURIComponent(title)); //js의 함수입니다.
url="<%=request.getContextPath()%>/print/printList!printTable.action?title="+title;
2. 서버에서 java.net.URLDecoder.decode(getRequest().getParameter("title"),"UTF-8")를 사용하여 디코딩합니다.
------------------------------------- -------------
iframe의 parent.window.location.href 및 src에 문자가 왜곡되는 문제가 있습니다.
이 두 URL 주소로 중국어를 전송하려면 인코딩한 다음 디코딩해야 합니다.
인코딩: encodeURI(encodeURI("중국어를 포함하는 문자열"))
디코딩: java.net.URLDecoder.decode("디코딩할 문자열", "utf-8");