본문 바로가기

JSP/URLEncoder in Tomcat

URLEncoder in Tomcat

<%@ page contentType="text/html;charset=KSC5601"%>
<%@ page import="java.net.*"%>
<HTML>
 <HEAD>  <TITLE>한글 처리 </TITLE> </HEAD>
 <BODY>
 <%
    // 수신측 코드
    request.setCharacterEncoding("KSC5601");
    String name = request.getParameter("name");
    if(name!=null && !name.equals("")){
    //URL에 포함된 16진수 형태의 데이터를 일반 문자열로 변환한다.
    name = URLDecoder.decode(name, "KSC5601");
    out.println("전송된 이름: "+ name);
    //위의 방법으로 변환이 제대로 안될 경우에는 디코딩 후에 아래처럼.....
    //name = new String(name.getBytes("8859_1"), "KSC5601"); //
    //out.println("전송된 이름: "+ name);

  }

    // 송신측 코드
    String str = URLEncoder.encode("설 기현", "KSC5601");
    String str2 = URLEncoder.encode("박 지성", "KSC5601");
 %>
 <br><br><br>
<!-- 링크 URL에 한글이 포함되어 있는 경우-->
  <a href="http://localhost/urlencode.jsp?name=<%=str%>">설 기현</a>
  <a href="http://localhost/urlencode.jsp?name=<%=str2%>">박 지성</a>
 </BODY>
</HTML>




 <img src="이미지 url"> 와 같은 경우에도 URL부분에 한글이 포함될 수 있다.

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ page import="java.net.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>URLEncoder</title>
</head>
<body>
<% String enc = URLEncoder.encode("노말벡터", "euc-kr"); %>

<!--  URL에 한글이 사용되는 경우에는 URLEncoder로 인코딩해 주어야 한다 -->
<a href="<%=enc %>.jpg">노말벡터.jpg</a>
<img src="<%=enc%>.jpg">

<!-- 화면에 그림이 나타나지 않는 경우 -->
<img src="노말벡터.jpg">
</body>
</html>