[PHP] UTF-8 환경 서버에서 한글파일 다운로드 안될때

예전의 EUC-KR 환경 서버에서는 영어, 한국어만 재대로 표현이 되고 다른 국가 언어의 경우 알아보기 힘들게 글자가 깨져보인다.

그리고, 예전 한국 사람들의 홈페이지에는 대부분 한글 폴더, 한글 파일명이 많이 쓰였고 이때 사용하던 게시판 프로그램(zeroboard, gnuboard, kimsboard, technote 등)이 거의 EUC-KR 전용이다.

이때는 영어랑 한국어만 재대로 나오는 홈페이지면 국제 비즈니스에서 괜찮다고 생각했다.

근데, 요즘은 중국어, 일본어, 기타 해외 다른 언어권 국가에도 비즈니스를 하는 시대이다.

홈페이지 제작 측면에서도 영어, 한국어로만 되어 있는 홈페이지보다 중국어, 일본어 등 다른 국가 언어도 지원되는 것을 선호한다.

그래서 UTF-8 이라는 환경이 몇 년전에 웹호스팅 시장에 도입이 되었다.

UTF-8 환경 서버에서 한글로 홈페이지 제작하면 자동으로 영어, 중국어, 일본어, 기타 해외 다른 언어가 변환되는 것은 아니다.

한글로 된 부분은 그 나라 언어로 바꾸어 제작해야 된다.

예전에 사용되던 공개 프로그램들이 최근에는 다 UTF-8 환경에서 작동되도록 개발되고 있고, 완전히 체제가 전환 된 프로그램도 있다.

이는 위에서도 장황하게 얘기했지만 타겟이 국내 사용자가 국내 비즈니스가 목적이었던 것이 해외 비즈니스로 바뀌었기때문이다.

 

이번 포스트는 UTF-8 환경 서버에서 한글 파일이 재대로 인식이 되지 않아 서버에는 파일이 있지만 브라우저에서 파일을 찾기 못할때 해결할 수 있는 방법에 대해 찾아보기로 한다.

sshscreen위는 푸티로 서버에 접속한 화면인데.. 보시다시피.. 한글파일이 깨진다. ㅠㅠ

당연히 UTF-8 환경 서버이기때문이다.

요기서 이를 한글로 표현되도록 할려고 포스팅하는게 아니기때문에 패쓰.. ㅎ

Cap 2015-09-10 09-54-32-965FTP로 접속하면 위와 같이 한글파일이 있다.

우리가 보통 이 파일을 홈페이지에서 다운로드 시켜 줄때..

Cap 2015-09-10 10-01-03-187

이렇게 사용한다.

http://blog.ingenious.kr/sample/hangul.html 에서 다운로드 눌러보면 링크를 찾을 수 없다는 메시지가 나온다.

우리가 가장 만만하게(?) 생각하는 PHP님께서는 urlencode() 라는 함수를 제공해주시는데~ urlencode() 함수님은 아래 처럼 쓰면 된다.

Cap 2015-09-10 10-05-52-144

http://blog.ingenious.kr/sample/hangul2.html 에서 다운로드를 눌러보면 파일이 다운로드가 된다.

 

그리고, 웃긴건 APACHE 님께서도 우리에게 Mod_URL 이라는 모듈이 하사 하시는데 설치는 알아서 하시고.. 여튼…

Cap 2015-09-10 10-12-45-822

만 apache의 httpd.conf 에 추가하면 알아서 된다.

답글 남기기