message-common_ko_KR.properties 설정 오류 ?
- 작성자 :
- 조*길
- 작성일 :
- 2013-09-24 13:01:54
- 조회수 :
- 1,816
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
개발서버에서 운영서버로 옮기고 나서 (tar압축해서)
개발서버에서 잘되고 있던 메뉴가 500에러가 났습니다.
화면에 오류를 보니
<spring:message code="button.list" /> 부분의 한글 문제인 것 같아
message-common_ko_KR.properties 파일을 vi편집기로 확인해보니
한글이 이상한 영어와 숫자로 변환되어 있었습니다.
그래서
일일이 그냥 버튼 및 메세지를 바꾸기에는 너무 시간이 많이 걸릴 것 같아
원래의 한글이 있는 내용으로 붙여넣기 하여 tomcat를 리스타트 했습니다.
그런데도 여전히 에러 뜹니다.
구청이라서 방화벽설정 등 별도의 설정 필요한지
하다면 어디 부분을 확인해야 하는 지 알려주세요..
톰켓과 아파치 연동을 했으나 아직까지는
포트를 8888 붙여야 로그인 할 때 j_spring_security_check에서 다음으로 넘어 갑니다.
혹시 그 문제인가요?
암튼 모든 properties 파일의 한글 문제인 것 같습니다.
깨진 부분을 한글로 붙여넣기해도 마찬가지입니다.
어디를 어떻게 설정하면 될까요?
개발서버에서 잘되고 있던 메뉴가 500에러가 났습니다.
화면에 오류를 보니
<spring:message code="button.list" /> 부분의 한글 문제인 것 같아
message-common_ko_KR.properties 파일을 vi편집기로 확인해보니
한글이 이상한 영어와 숫자로 변환되어 있었습니다.
그래서
일일이 그냥 버튼 및 메세지를 바꾸기에는 너무 시간이 많이 걸릴 것 같아
원래의 한글이 있는 내용으로 붙여넣기 하여 tomcat를 리스타트 했습니다.
그런데도 여전히 에러 뜹니다.
구청이라서 방화벽설정 등 별도의 설정 필요한지
하다면 어디 부분을 확인해야 하는 지 알려주세요..
톰켓과 아파치 연동을 했으나 아직까지는
포트를 8888 붙여야 로그인 할 때 j_spring_security_check에서 다음으로 넘어 갑니다.
혹시 그 문제인가요?
암튼 모든 properties 파일의 한글 문제인 것 같습니다.
깨진 부분을 한글로 붙여넣기해도 마찬가지입니다.
어디를 어떻게 설정하면 될까요?
A
안녕하세요. 조성길님.
우선 한글이 깨져보이는 것은 정상입니다.
한글이 \u[unicode] 형태로 표시되는 것은 java에서의 resource bundle 상 영문 이외에 코드는 이와 같은 유니코드 형태로 저장되도록 되어 있습니다.
원래는 한글로 저장된 properties 파일을 jdk에서 제공하는 native2ascii 프로그램을 통해 변경해야 하나 표준프레임워크 개발환경에 포함되어 있는 PropertiesEditor plugin을 사용하면 읽기 시나 저장 시에 알아서 변환 처리합니다.
실제 오류의 원인은 locale 정보가 달라서 발생된 문제입니다.
서버 상에는 locale이 "ko"로 지정되셨지만, 이에 해당되는 properties인 message-common_ko.properties가 없어서 메시지를 찾지 못한 오류입니다.
locale의 경우는 "언어_지역" 으로 구분되는데, 지역까지 지정된 경우에 해당 properties 파일을 사용할 수 있습니다.
다시 설명드리면,
locale이 ko_KR로 지정된 경우 우선 *_ko_KR.properties 파일을 찾고, 없는 경우, ko.properties 파일을 찾습니다. 이것도 없는 경우 default인 *.properties 파일을 찾습니다.
locale이 ko로 지정된 경우 *_ko.properties -> *.properties 순서로 찾는데,
이 경우는 2개의 파일다 없기 때문에 메시지를 못 찾은 것입니다.
해결 방법은 message-common_ko_KR.properties을 message-common_ko.properties로 변경하시거나 message-common.properties로 추가 복사해 놓으시면 되실 것 같습니다.
그럼, 즐거운 하루되십시오.
감사합니다.
우선 한글이 깨져보이는 것은 정상입니다.
한글이 \u[unicode] 형태로 표시되는 것은 java에서의 resource bundle 상 영문 이외에 코드는 이와 같은 유니코드 형태로 저장되도록 되어 있습니다.
원래는 한글로 저장된 properties 파일을 jdk에서 제공하는 native2ascii 프로그램을 통해 변경해야 하나 표준프레임워크 개발환경에 포함되어 있는 PropertiesEditor plugin을 사용하면 읽기 시나 저장 시에 알아서 변환 처리합니다.
실제 오류의 원인은 locale 정보가 달라서 발생된 문제입니다.
서버 상에는 locale이 "ko"로 지정되셨지만, 이에 해당되는 properties인 message-common_ko.properties가 없어서 메시지를 찾지 못한 오류입니다.
locale의 경우는 "언어_지역" 으로 구분되는데, 지역까지 지정된 경우에 해당 properties 파일을 사용할 수 있습니다.
다시 설명드리면,
locale이 ko_KR로 지정된 경우 우선 *_ko_KR.properties 파일을 찾고, 없는 경우, ko.properties 파일을 찾습니다. 이것도 없는 경우 default인 *.properties 파일을 찾습니다.
locale이 ko로 지정된 경우 *_ko.properties -> *.properties 순서로 찾는데,
이 경우는 2개의 파일다 없기 때문에 메시지를 못 찾은 것입니다.
해결 방법은 message-common_ko_KR.properties을 message-common_ko.properties로 변경하시거나 message-common.properties로 추가 복사해 놓으시면 되실 것 같습니다.
그럼, 즐거운 하루되십시오.
감사합니다.