개발을 하다보면 euc-kr 파일인코딩을 utf-8 로 변경할 경우나 그 반대의 경우 등등 여러가지 경우가 발생한다.
인터넷 검색해서 나오는 쉘 스크립트의 경우 이미 utf-8일 경우도 다시 utf-8로 변환해서 깨지는 현상이 발생하여 변환시 에러가 안날 경우만 변경되도록 처리가 필요하였다.
그럴 경우를 위해 일괄적으로 특정 디렉토리의 파일들을 찾아서 euc-kr -> utf-8 로 만드는 쉘 스크립트를 만들어서 돌려보니 잘 작동해서 올린다.
html, inc, php 이외의 파일을 변환하려면 중간에 "*[php|inc|html?]" 부분을 수정하면 된다.
================ 스크립트 시작 ==================
#!/bin/bash
if [ $# != 3 ]
then
echo "Usage : char_convert.sh [char_from] [char_to] [dir]"
exit 0
fi
charfrom=$1
charto=$2
objdir=$3
for x in $(find $objdir -type f -name "*[php|inc|html?]") ; do
iconv -f $charfrom -t $charto $x > $x.utf-8
if [ $? != 0 ]
then
echo "-----------------------------------"
rm -f $x.utf-8
echo "deleted $x.utf-8"
else
echo "-----------------------------------"
rm -f '$x'
echo "deleted $x"
mv $x.utf-8 $x
echo "mv $x.utf-8 -> $x"
fi
done
exit 0
================ 스크립트 종료 ==================
PS. 리눅스 iconv 기능을 이용했으므로 없다면 설치해야 함.
PS. PHP 를 사용하는 분들이라면 기본적으로 있을거라 생각함.
영삼넷
Categories
Recent Posts
Recent Comments
Statistics
- Total Visitors:
- 410181
- Today:
- 6846312
- Yesterday:
- 9754777
IT강국 김영삼 블로그에 오신걸 진심으로 환영합니다.
©2002 영삼넷 // openkr
©2002 영삼넷 // openkr