반응형




PyScripter를 사용해서 공부를 시작하려고 하는데 이녀석이 초반부터 사람 갈 길을 막습니다.

작성할 때 한글을 포함한 문서를 저장하고 다시 불러오면 한글이 다 깨져 버리네요.

 



헉 이게 무슨 음모인가요?
포스팅 할려고 "한글"이라 하니 "?쒯?" 이라 뱉어 주시는 PyScripter님. 유머감각도 넘치셔라;;;
ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ




수업 시간에 배운 방법은 File encoding comment를 적어주는 방법이었습니다. 아래 처럼 하면 되죠.

[Edit] - [Insert Template] 을 선택해서 File encoding comment를 추가하는 것입니다.  직접 타이핑 해도 되구요.




이렇게 하면 문서를 닫고 다시 불러와도 한글이 깨지지 않습니다. 하지만 이 방법은 솔직히 좀 불편하더군요. 추가해줘야하니깐요.
(물론 아예 처음부터 추가되게 하는 방법이 있겠지만요.)

그래서 열심히 PyScripter의 메뉴를 뒤져 봤습니다!! 
안 되면 되게하라!!

역시나 친절히도 파일 포멧을 설정할 수 있는 부분이 바로 근처에 있더군요.
영어권에서 사용하는 녀석이라 파일 포멧이 ANSI로 되어 있었습니다. 
그래서 이걸 과감히 UTF-8로 바꿔 줬습니다.


다시 문서를 저장하고 불러오니 한글이 전혀 깨지지 않는군요.^^
이제 해결 했으니 다시 열공모드로 고고싱!!

아아.. 그런데..
뒤늦게 문제점 하나를 발견했습니다.ㅠㅠ
파일마다 새로 file format을 정해줘야하네요....








반응형
반응형

파이썬에서는 영어는 물론 한글도 문제없이 화면에 출력됩니다. 하지만 이런 출력이 내 컴퓨터뿐 아니라 다른 사람의 컴퓨터 특히 다른 언어권과 운영체제에서도 동일하다고는 확언할 수 없습니다.

세계 각국의 다양한 문자 표현하기 위한 표현 방식을 인코딩(Encoding)이라고 합니다.

각각의 언어권마다 서로 다른 인코딩을 사용한다면 프로그램을 다른 나라 사람도 사용하게 하려면 엄청 애를 먹을 겁니다. 그래서 세계의 모든 문자를 한 방식으로 표현할 수 있는 유니코드(Unicode)를 사용합니다.



파이썬 3.x 에서는 일반 문자열이 기본적으로 유니코드입니다. 즉 프로그램에서 글씨가 깨질 걱정을 할 필요가 없는 것입니다. 유니코드를 제외한 나머지 인코딩된 문자는 bytes로 표현됩니다.
그리고 문자를 특정 코드로 인코딩하고 싶을 때는 encode()를 사용하고




어떤 문자의 유니코드 값을 알고 싶을 떄는 ord()를 사용하고




어떤 유니코드 값에 해당하는 문자를 알고 싶을 때는 chr()을 사용합니다.





현재 시스템의 인코딩이 뭔지 알고 싶을 때는 아래와 같이 확일 할 수 있습니다.

반응형

+ Recent posts