[Search] Search   [Register] Register /  [Login] Login 
레진 3.1과 리눅스 시스템에서 파일 업로드 한글깨짐 문제
Forum Index » Resin Server Q&A
Author Message
graykaze



리눅스(CentOS)에 레진 3.1을 세팅하여 사이트 테스트 중입니다.

여쭤보고 싶은 문제는 한글 파일을 업로드하면 DB에 들어간 한글 파일명이나 출력되는 것에서도 한글이 깨지지 않고 잘 출력 및 DB입력 됩니다.
그런데 막상 서버에 저장된 파일명은 영문 및 숫자, 기호를 제외하고는 ???????으로 변경되어 있습니다.
그 파일을 해당하는 한글 파일명으로 쉘상에서 변경해주면 다운로드 및 이미지 표시가 제대로 됩니다.
여기저기 알아본 결과 리눅스에 레진서버가 파일 작성시 인코딩을 변경한다는 걸 알았습니다.

쉘상에서 locale을 실행해보고 Runtime.getRuntime("locale")을 이용해 로그 출력하여 비교해본 결과
쉘의 locale설정에서는
LANG=ko_KR.eucKR
LC_CTYPE="ko_KR.eucKR"
LC_NUMERIC="ko_KR.eucKR"
LC_TIME="ko_KR.eucKR"
LC_COLLATE="ko_KR.eucKR"
LC_MONETARY="ko_KR.eucKR"
LC_MESSAGES="ko_KR.eucKR"
LC_PAPER="ko_KR.eucKR"
LC_NAME="ko_KR.eucKR"
LC_ADDRESS="ko_KR.eucKR"
LC_TELEPHONE="ko_KR.eucKR"
LC_MEASUREMENT="ko_KR.eucKR"
LC_IDENTIFICATION="ko_KR.eucKR"
LC_ALL=

이렇게 나오고 runtime을 이용한 locale로그에서는
LANG= LC_CTYPE="POSIX" LC_NUMERIC="POSIX" LC_TIME="POSIX" LC_COLLATE="POSIX" LC_MONETARY="POSIX" LC_MESSAGES="POSIX" LC_PAPER="POSIX" LC_NAME="POSIX" LC_ADDRESS="POSIX" LC_TELEPHONE="POSIX" LC_MEASUREMENT="POSIX" LC_IDENTIFICATION="POSIX" LC_ALL=
이렇게 나왔습니다.

레진서버를 구동시킬때 저걸 잡아주는 법이 있을 것 같은데 방법이 없을까요?
Admin

[Avatar]


안녕하세요.

먼저 App에서 사용하는 언어와 OS의 LANG변수가 동일한지 한번 확인해보시길 바랍니다.
App에서 파일을 업로드 할때 getBytes등을 이용해서 업로드 하는 경우는 설정으로 해결되지 않을 수 있습니다.
추가로 Command에 -Dfile.encoding 도 테스트 해보시기 바랍니다.

감사합니다.

This message was edited 1 time. Last update was at 27/04/2015 14:24:34

 
Forum Index » Resin Server Q&A
Go to: