한글 파일 다운로드시 %BL%AH 이렇게안되게

Mozilla Firefox 사용에 대한 일반적인 질문과 답을 해 주는 게시판입니다. 질문을 하기 전에 FAQ를 읽어 보시는게 도움이 될 것입니다.
Post Reply
ryool

한글 파일 다운로드시 %BL%AH 이렇게안되게

Post by ryool »

el님이 올리신 질문과 똑같은 문제입니다.
답변이 아직 완료되지 않은 것 같아서 제가 다시 물어봅니다.
아래 링크는 el님의 질문입니다.
viewtopic.php?t=7047


el님께서 마지막으로 남기신 댓글로 저의 질문을 대신합니다.
el wrote: 웹페이지에 올려진 한글이름의 파일을 브라우저에서 클릭했을 때 (주로 doc, xls, ppt, hwp, txt 등등) 그 파일들을 어플리케이션이 로딩하면서 원래 한글이름을 그대로 유지할 수 있느냐 하는 겁니다.

제가 제 계정에 올려놓은 파일 (예를 들어 "한글이름파일.doc " 이라면)
1. IE 에서 클릭할 때 - 워드(패드)가 실행되면서 "한글이름파일.doc" 를 읽어들인다.
2, FF 에서 클릭할 때 - 워드(패드)가 실행되면서 "%BL%AH%BL%AH%BL%AH.doc" 를 읽어 들인다.

라는 두 가지 결과에 대해서

그 이유와 해결방안을 알고 싶은 겁니다.


그리고 사무용 컴퓨터에 FF를 깔아서 사용하고픈 제 입장에서는 URI 니 IRI 니 하는 전문용어(?)가 필요한 게 아니라, 어느 메뉴 어떤 옵션에서 어떤 버튼을 누르면 되는 혹은 어떤 확장을 설치해야 하는지입니다.


그것이 절실하게 필요한 이유는 이미 썼으니 재론하지 않겠습니다.

IE 쓰세요 라는 답변은 사양합니다.
ryool

덧붙입니다.

Post by ryool »

글을 올리기 전에 검색한 결과

about:config에서
network.standard-url.encode-utf8 ------- true로,
network.standard-url.escape-utf8 ------- false로 고쳐보았으나
해결되지 않았습니다.
User avatar
alogblog
Posts: 19
Joined: 2005 06 07 22:20 06
Contact:

Post by alogblog »

그리고 사무용 컴퓨터에 FF를 깔아서 사용하고픈 제 입장에서는 URI 니 IRI 니 하는 전문용어(?)가 필요한 게 아니라, 어느 메뉴 어떤 옵션에서 어떤 버튼을 누르면 되는 혹은 어떤 확장을 설치해야 하는지입니다.
원 질문하신 분의 말씀이고 공감하기는 하는데, 현실이 그렇지 못합니다.
이 문제는 파이어폭스에서 어떤 설정이나 버튼, 확장으로 해결되는 게 아닙니다.

고로 적어도 지금 상황에서는 두가지 중의 하나를 선택해야 합니다.

걍 맘편하게 영어로 파일명을 하든지,
아니면 처음 글의 빛알갱이님이 언급하신 URI, IRI 등에 대해 조금은 알고
적용하도록 하거나...

둘중의 하나 입니다.

이 문제가 단순히 클라이언트 측에서의 문제가 아니라
서버쪽의 문제와 연관이 되기 때문에 그렇습니다.

물론 머지 않아 원 질문자님 말씀마따나
이런 저런거 신경안쓰고 버튼 혹은 설정값 조정으로 해결될 가능성은
분명 있고, 그렇게 되길 바랍니다.

현재는 그게 안됩니다.
고로 원 질문자님에게 당장 만족할만한 대안은 현재로선 없다고 보입니다.
여기서 그 대안이란, 일반 유저들이 편하게 조정해서 사용할 수 있는 방법에서..말입니다.


===================

그런 간편한 어떤 방법과 무관하게,
이런 문제가 알게 모르게 특히 웹 호스팅을 간단히 이용해서 사이트나
블로그를 운영하는 분들이 간혹 겪을 수 있는 문제므로, 원 질문자님에 대한 답변이라기보다 다른 관심있는 분들이, 이 글을 향후에라도 검색해서 해결하는데 도움이
되었으면 하는 관점에서 하나의 방안을 적어 봅니다.


1.
자신의 웹 서버(아피치 서버로 가정)의 루트 밑에
.htaccess 파일을 하나 만들고

ErrorDocument 404 /error.cgi

이런 한 줄을 추가 해줍니다.

2.
웹 루트 밑에 error.cgi 파일을 만들고 아래 내용 입력한후, $ chmod +x error.cgi
명령으로 error.cgi 파일에 실행 권한 부여.

Code: Select all

#!/home/bin/perl -w

use CGI qw/:standard/;
use Encode qw(encode decode);
use Encode::Guess qw(euc-kr utf-8);


#####################################
# 자신의 서버에서 한글파일명을 euc-kr로 생성하면 euc-kr
my $my_encoding = 'euc-kr'; # UTF-8 => 'utf8', EUC-KR => 'euc-kr'
# 웹 루트의 절대 경로
my $webrootPath = '/home/hosting_users/자신의 홈경로/www';
# 실재 존재하지 않는 페이지를 요구할 경우 아래 문서를 보여줌.
# 즉 루트 아래에 아래 이름의 파일을 하나 만들어 줌.
my $notFoundpage = '/notfound.html';

######################################


my $path = $ENV{"REDIRECT_URL"};
my $tmp_encode = guess_encoding($path);

$q = new CGI;

if($tmp_encode->name ne $my_encoding) {
	$path = encode($my_encoding, $tmp_encode->decode($path));
	$f = $webrootPath . $path;
	if(-e $f) {
		$path =~ s/%2f/\//gi;
		print $q->redirect($path);
		exit;
	}
}
print $q->redirect($notFoundpage);

이렇게 하면
한글 파일명 즉 한글 URL 주소를 euc-kr 페이지에 삽입한 경우나
혹은 utf-8 페이지에 삽입한 경우나
IE에서 utf8 보내기 옵션을 끄고 키거나
FF에서 utf 옵션을 true/false 로 하거나에 상관없이

해당 파일을 찾아서 보여줍니다.


http://alogblog.com/tmp/한글테스트.html

간단히 테스트로 해본 건데, 언제 지워질진 모릅니다.


다만 원 질문자님의 의도처럼
ScrapBook이나 FF에서 클릭해서 바로 여는 경우와 같은 것은
여전히 %HH 형식으로 나타납니다.

이것은 이 확장이나 FF의 다운 부분이 여전히 URI를 인코딩해서
사용하기 때문입니다. 이건 어쩔수가 없습니다.

하지만 실제 테스트해보니까 오른쪽 버튼으로 한글 명으로 저장할때는
한글로 제대로 저장이 됩니다.


http://alogblog.com/movabletype/plugins ... _cool_iri/
이건 영어로 된거라 좀 그러긴 한데, 그림도 한번 보시면 IRI나 한글 주소 표현에 관심있는 분들에게 약간 도움이 될지 모르겠네요.
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest