[mysql] DB 및 파일을 EUC-KR에서 UTF-8로 변경하기
페이지 정보
본문
리눅스 서버에서 EUC-KR 파일을 UTF-8 파일로 변환해주는
방법입니다.
리눅스 서버에 기본적으로 설치되어 있는 iconv 프로그램을 이용하면 됩니다.
아래 내용으로 iconv.sh 스크립트 파일을 만듭니다.
#!/bin/bash
iconv -c -f euc-kr -t utf-8 $1 > $1.tmp && mv $1.tmp $1
mysqldump 로 백업한 .sql 파일을 아래와 같이 실행해주면 됩니다.'
./iconv.sh 파일명.sql
실행후 백업한 .sql 파일을 다시 mysql 서버에 입력합니다.
mysql -uroot -p DB명 < 파일명.sql
일반 php나 html 파일들도 전부 EUC-KR 파일에서 UTF-8로 변경해야 될 경우
find 명령과 조합해서 확장자별로 한번에 변경하면 됩니다.
find ./ -name "*.php" -exec ./iconv.sh {} ;
각 확장자별로 실행하면 됩니다.
주의 : 실행시 파일 소유권이 전부 실행자로 변경됩니다.(root인 경우 root로 변경)
파일 소유주를 다시 복구하려면 아래와 같이 실행하면 됩니다.
find ./ -user root -exec chown 소유자명. {} ;
각 소스에
합니다.
아래 명령으로 모든 파일을 한번에 변경합니다.
find . -name "*.php" -exec perl -pi -e 's/euc-kr/utf-8/g' {} ;
find . -name "*.php" -exec perl -pi -e 's/EUC-KR/utf-8/g' {} ;
대소문자 구분하니까 2번씩 각 확장자별로 실행하면 됩니다.
주의 : 위 명령어는 각 서버환경과 홈페이지 환경에 맞게 수정할 필요가 있으며 실행전
반드시 원본을 백업후 실행하시기 바랍니다. 파일 및 DB 손실로 인한 책임은 작성자에게
있지 않습니다.
관련링크
댓글목록
등록된 댓글이 없습니다.