공부, 프로그래밍/파워쉘, cmd

파워쉘) UTF-8에서 BOM 없애기 (텍스트파일생성)

devsp 2020. 12. 31. 12:44


파워쉘에서는 위와 같이 ">" 를 이용하여

간단하게 파일을 만들어낼 수 있다.


그런데 이렇게 만든 파일 안의 내용을

전부 지웠음에도 불구하고 무엇인가

남아있는 경우가 있다.


일반적인 메모장에서는 확인할 수 없고

Notepad++의 Hex-Editor플러그인에서

그 원인을 알 수 있다.


이렇게 된 원인은 파워쉘 코드를 통해

만들어진 파일이 UTF-8(BOM)형식이기 때문이다.

(메모장으로 열어서 '다른이름으로 저장'을 누르면 확인가능)


$PSDefaultParameterValues['*:Encoding'] = 'Default'


위 명령어를 맨 앞에 추가하면 UTF-8(BOM)이 아닌

UTF-8로 파일을 생성할 수 있게된다.

(윈도우10 기준)


*default 외에 unknown,string,unicode,

bigendianunicode,utf8,utf7,utf32,ascii,default,oem

등을 사용할 수 있다.



[ 참고자료 ]

https://stackoverflow.com/questions/5596982/....

    (거의 마지막 부분에 있음)

○ https://brownbears.tistory.com/124

    ㄴ BOM이란?