티스토리 뷰
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
최근 홈페이지의 인코딩을 euc-kr 에서 utf-8 기반의 유니코드로 변경했습니다. 제 홈페이지가 모니위키 + 태터툴즈의 조합으로 운영되고 있었는데, 태터툴즈는 utf-8 을 쓰고 있었고, 모니위키는 euc-kr 를 쓰고 있었습니다. 그런데 최근 서버를 데비안에서 우분투로 업데이트하면서 기본이 utf-8 이 되어서 ssh 접속을 해도 utf-8 이 기본이 좋고, 위키와 블로그의 공통 메뉴에 '한글' 을 쓰려고 하니 아무래도 utf-8 로 인코딩을 통일하는게 좋을것 같더군요.
그래서 모니위키를 utf-8 로 변경하게 되었습니다. 기본 작업 과정은
1. 한글 페이지 이름을 영문 페이지 이름으로 변경하기
일단 url 이 이상해지는 것도 막고, 인코딩이 혹시나 잘못되더라도 영어면 알아보기 쉽죠. -0-
2. euc-kr 한글로 되어 있는 다른 페이지들을 될 수 있는 한 임시로 영어로 변경. 1과 같은 이유
3. 다음과 같은 명령어를 통해 각 페이지의 파일들을 euc-kr 에서 utf-8 로 변경
iconv inFile -f euc-kr -t utf-8 -o outFile
하지만 위와 같은 것을 전체 파일에 해주기 위해서 다음과 같은 간단한 파이썬 작성.
4. 위키 디렉토리의 설정 파일인 config.php 를 열어서 $charset='euc-kr'; 로 되어 있던 것을 $charset='utf-8'; 로 변경
5. 제대로 나오는 지 테스트~
일단 위의 과정을 거치기 전에 data/text 의 내용을 백업해주는 것을 잊지 말아야 한다. 그리고 RCS 디렉토리의 내용을 변환하지 않아서 지난 버젼은 여전히 인코딩이 다르게 남아있긴 한데, 이 부분은 그냥 패쓰 -0-
그래서 모니위키를 utf-8 로 변경하게 되었습니다. 기본 작업 과정은
1. 한글 페이지 이름을 영문 페이지 이름으로 변경하기
일단 url 이 이상해지는 것도 막고, 인코딩이 혹시나 잘못되더라도 영어면 알아보기 쉽죠. -0-
2. euc-kr 한글로 되어 있는 다른 페이지들을 될 수 있는 한 임시로 영어로 변경. 1과 같은 이유
3. 다음과 같은 명령어를 통해 각 페이지의 파일들을 euc-kr 에서 utf-8 로 변경
iconv inFile -f euc-kr -t utf-8 -o outFile
하지만 위와 같은 것을 전체 파일에 해주기 위해서 다음과 같은 간단한 파이썬 작성.
import os
import glob
def main():
files = glob.glob("*")
for file in files:
if os.path.isfile(file):
cmd = "iconv " + file + " -f euc-kr -t utf-8 -o __tmp"
os.system(cmd)
print(cmd)
cmd = "cp __tmp " + file
os.system(cmd)
print(cmd)
os.system("rm __tmp")
if __name__ == "__main__":
main()
4. 위키 디렉토리의 설정 파일인 config.php 를 열어서 $charset='euc-kr'; 로 되어 있던 것을 $charset='utf-8'; 로 변경
5. 제대로 나오는 지 테스트~
일단 위의 과정을 거치기 전에 data/text 의 내용을 백업해주는 것을 잊지 말아야 한다. 그리고 RCS 디렉토리의 내용을 변환하지 않아서 지난 버젼은 여전히 인코딩이 다르게 남아있긴 한데, 이 부분은 그냥 패쓰 -0-
댓글
최근에 올라온 글
- Total
- Today
- Yesterday