프로그래밍/Linux

vi 파일 자동 인코딩 변환 막기

kugancity 2015. 10. 15. 09:57
반응형







간혹 파일에 깨진 글자가 있으면 vi에서 파일 인코딩을 자동 변환하여 

전체 인코딩이 깨져 나올때가 있다 -_-; 



newsline:<strong class="hl">ë<8f><99>í<99><94>ì<95>½í<92><88></strong>, â<80><98>2015 ê¹<8c>ì<8a>¤í<99><9c>ëª<85>ì<88><98> í<8a>¹ë³<84>ë°<95>ì<8a>¤â<80><99> ì¶<9c>ì<8b><9c>



"best_news_2015_10_13.log" [변환 되었습니다] 63894L, 12815248C




자동 인코딩 하지 않고 파일을 원래 버전으로 보려면 

binary 모드로 파일을 열거나 :e 명령어(edit)로 원래 인코딩으로 변경하면 된다. 


- binary 모드로 파일 열기 



vim -b "myfile.type"

binary 모드로 파일 열기 


:set binary 또는 :se bin 

vi로 화면이 연 다음 set 사용 


- :e 명령어로 원래 인코딩으로 변경하고 깨진 문자 확인하기 


:e ++enc=원래 파일 인코딩

예시 ) :e ++enc=utf-8

원래 파일 인코딩으로 파일 내에서 인코딩 변환을 한다. 

그러면 아래 같이 어디에 잘못된 바이트에 있는지 확인할 수 있다. 


"best_news_2015_10_13.log" [59067 줄에 잘못된 바이트] 63894L, 10020220C



이렇게 인코딩을 하면 더 좋은 이유가 어느 줄에 잘못된 바이트가 있는지 알려주기때문에 

깨진 문자열을 확인하고 수정하면 다음부터는 정상적으로 파일을 열 수 있다. 










728x90
반응형