본문 바로가기

반응형

UTF-8

(3)
[pandas] pd.DataFrame.to_csv()를 excel에서 열었을 때 한글 깨짐 Problem 문제는 심플하다. 아마 메모장이나 python, R 등에서 열었으면 아무 문제가 발생하지 않았을 텐데, 유독 excel에서만 발생한다. 원인은 엑셀에서 파일을 열 때 기본 인코딩인 cp땡땡땡 때문에 발쌩하는 문제이다. US Windows에선 CP1252 한국 windows에선 CP949 등에서 발생하는 고질적인 문제이다. CP949는 한글을 표현하기 위한 codepage이다. 우리는 codepage를 적합한 encoder/decoder를 통해서 입력/출력을 하게 된다 익숙한 codepage들을 예로 들자면 전세계 표준인 utf-8이나 컴퓨터 최초의 인코딩 방식인 ascii 등이 있을 수 있다. 이 CP949는 한글을 표현하기 위한 euc-kr의 확장 버전으로 한 문자를 2byte를 이용하여..
웹 통신에서 한글 깨짐 처리 %EA, utf-8 Prologue 과거에 파이썬 2에서는 유니코드 인식이 잘 되지 않아 한글 사용에 다양한 방법들이 필요했다. 하지만 파이썬3에서는 기본 인코딩이 utf-8로 채택이 되었고, 추가적인 설정 없이(?) 한글 사용이 편해졌다. plotting을 할 때는 글꼴을 바꿔서 추가적인 설정을 해주어야 하지만, 기본적으로 python상에서 한글을 사용하는데 큰 문제는 없다. 하지만, 보통 데이터 수집이나 웹통신을 하다 보면 한글이 있어야 할 자리에 흉악하게 생긴 것들을 볼 수 있다. 보통 한국어 관련 스크래핑을 하다 보면, 해당 주소의 url상에서 %EA%... 이렇게 수많은 %가 포함된 생긴 것을 볼 수 있다. 그냥 해도 무방한데, 특히 데이터파일을 받을 때 파일명에 저러한 문자가 섞여있는 경우, 적지않은 짜증이 올라..
파이썬 한글 (utf-8) 인코딩 관련 최종 정리! 파이썬에서 한글을 사용하기 위해서는!? 1. python3.x를 쓰면 된다..! python2.x에서는 디폴트 인코딩이 ASCII이다. 그래서 영어를 읽어오는데는 아무 문제가 없다.하지만 한글을 포함한 특수문자, 즉 ASCII를 벗어난 문자가 등장하면 읽어오는데 많은 문제점이 있다. 이를 해결하기 위에 파일 제일 위에 #-*-coding:utf-8-*-와 비스무리한 걸 넣으면 된다. decode().encode() 뭐 이런걸 넣으면 된다. 불라불라~ 말이 많다. 하지만 경험상 전부 잘 되지 않는다. 한계점이 많다. 이 때 python3.x는 디폴트 인코딩이 utf-8이 가능하다. 따라서 한글을 포함한 특수문자들이 아~무 문제없이 읽힌다. 2. python3.x에서도 한글이 안읽혀요...ㅜㅜ 가끔 이런 짜..

반응형