<%@page contentType="text/html; charset=euc-kr" %>

<%@page import="java.io.*" %>

<HTML>

<HEAD><TITLE>노래 목록</TITLE></HEAD>

<BODY>

노래 파일 목록<BR><BR>

<%

String absolutePath = application.getRealPath("/WEB-INF/songs");

File directory = new File(absolutePath);

String songlist[] = directory.list();


int length = 0;

try

{

for(int i=0;i<songlist.length;i++)

{

if(songlist[length] == null)

{

out.println("종료\r\n");

break;

}

out.println("<a href= \"SongReader.jsp?filename= " + songlist[i] + "\" target=\"_self\">"

+ songlist[i] + "</a>"+"<BR>");

}

}

catch(Exception e)

{

out.println("에러발생\r\n");

}

finally

{}


%>

</BODY>

</HTML>


이 코드를 실행하면요, /WEB-INF/songs에 저장된 노래가사 텍스트 파일의 이름을 SongReader.jsp라는 jsp페이지에 보내줘요. 그러면 SongReader.jsp페이지 파일이 이 코드가 보낸 파일 이름을 읽어서 출력하는 프로그램을 만들고 있는데요.


이 jsp페이지에서는 파일이름이 영어든 한글이든 다 출력이 되는데 SongReader.jsp라는 페이지에서 파일이름을 받아 출력하면 영어는 제대로 출력되는데 한글이 깨져요.

한글을 안깨지게 하려면 어떻게 해야되나요?


request.setCharacterEncoding("euc-kr") 이거를 파라미터 받기 전에 제일 먼저 썼는데도 한글이 깨지는 건 마찬가지고요. 뭐가 문제일지요?


SongReader.jsp코드는 아래에


<%@page contentType="text/html; charset=euc-kr" %>

<%@page import="java.io.*" %>

<HTML>

<HEAD><TITLE>노래 가사</TITLE></HEAD>

<BODY>

파일 이름:

<%

request.setCharacterEncoding("text/html;charset=euc-kr");

String filename = request.getParameter("filename");

out.println(filename);


%>

</BODY>

</HTML>