[Linux] 인코딩 설정 - 한글 표시 언어 설정 (LANG)

2017. 7. 6. 18:19기술집/서버관련

728x90



휴... 간만에 이런걸 또 씁니다.

이제는 리눅스 접속을해도 뭐가뭔지 모를정도로 아는게 없네요 ㅠㅠ

이번에 서버 교체를 하면서 이런저런 설정을 옮기는데..

교체할 서버에 들어가보니 언어설정이 제대로 안된건지...

한글이 막 깨집니다.


그래서 열심히 또 알아봤죠. 덕분에 다시 공부했습니다.



오늘은... Putty 를 이용해서 리눅스 서버에 접속했는데... 한글이 깨질때!!!

파일 인코딩을 바꾸는 iconv 가 아니라.. 서버 자체의 인코딩설정을 하는걸 하겠습니다.

간만에 들어오니.. 진짜 모르겠네요.




자.. 우선 교체대상인 서버입니다.

OS 설치, 아파치설치까지는 되어있고, 백업시에 사용하는 스크립트 파일까지는 들어있습니다.

하지만 httpd 설정파일은 기본값이라서 수정등이 필요하겠네요.

일단 보인게 백업이라서.. vi /etc/crontab 입력 후 내용을 봅니다.


아하... 백업내용이 하나도 없습니다.



기존 서버에서 사용하는 백업 스크립트입니다.

없는부분만큼... 복사를 합니다. 그리고 교체할곳에 붙여넣기!!!



자.. 멋지게 한글이 깨집니다 ㅎㅎㅎㅎ

이럴때는 일단 파일자체의 인코딩을 확인하기전에.. 서버 자체의 인코딩을 살펴봅니다.

보통은 utf-8 을 많이 사용하지만, 저는 ecu-kr을 사용합니다.

왜냐구요? 어쩌다보니 그렇습니다. 한글표시가 이게 더 잘되네요.

일반 소스파일도 이걸로 생성이 되더라구요.. 왠지 모릅니다. 거기까지는 몰라요.

아무튼 그래서 저는 ecu-kr로 씁니다.



자. 일단 환경변수... 언어확인을 합니다.

교체대상의 서버의 언어를 확인합니다. UTF-8 이라고 되어있죠?

분명 기존서버는 미리 말씀드렸듯이.. ECUKR 일겁니다.



짠~ 역시나.

ECUKR에서 작성된 한글을 UTF-8 에서 표시하려니 깨질수밖에 없겠죠?

이런경우는 간단한 경우입니다. 둘다 똑같으면.. 한글이 깨지는 파일의 인코딩을 알아본다음에

한글 표시 언어 설정을 다시 해줘야하니까요.

자.. 제일 간단한것은... 이 유저로 로그인했을때 한글 인코딩 설정을 해주는겁니다.

그러기위해서는 아래 파일로 들어갑니다.


vi /etc/profile



이것이 기존 서버에 있는 root 유저의 profile 내용 제일 끝부분입니다.

저기 보이는것중에.. 가장 중요한것은 바로 이거죠.


export LANG=ko_KR.ECUKR


이것만 추가해주셔도.. 재로그인하면 기본 언어 인코딩이 바뀐답니다.

하지만 저는 기존 서버와 동일하게 해야하니.. 다 복사해서 붙입니다.

PATH 부분도.. 뭔가 필요해서 설정했을텐데..기억이 안납니다 ㅋㅋㅋㅋ



교체할 서버의 root profile 마지막부분입니다.

export 된것이 아무것도없죠?

붙여넣기를 하고 재로그인을 합니다.



어라... sql/bin 이라는 디렉토리가 없다고나옵니다.

뭐지?? 이런게 있었나?? mysql 설치를 안해서 그런가? 일단 확인하러 가봤더니...

마지막 문장이 줄이바뀌어서 복사가 되었는데.. 그대로 개행으로 들어가서 그런거였습니다.

개행을 없애주니 정상적으로 로그인이 되었습니다 ㅎㅎㅎ



자.. 다시 글자가 깨졌던 crontab 파일을 열어봅니다.

아주 깨끗하게 한글표시가 나오죠? ㅎㅎㅎㅎㅎ

내가 사용하는 유저의 서버적 한글 인코딩을 어찌해보시려면.. LANG 함수의 값을 바꿔주는것으로

간단히 해결할수가 있답니다 ㅎㅎㅎㅎ


나름 쉽지만 기억도 안나고하니... 이렇게 글로 남겨야죠.

혹시라도 잘못된 내용이나 모자란 부분이 있으면 언제든 지적 부탁드립니다..





728x90