Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- linux ssh root debian
- Notepad++
- react #router
- Notepad
- VM 호스트 주소
- Notepadplus
- 정규표현식
- 보안연결실패
- mailutils
- Basic Auth
- 소스 <script> 로딩 실패
- React #React-Table
- 노트패드뿔뿔
- SFTP
- 임펠러
- 가상머신호스트
- FTP
- PDFCreator
- 윈도우
- cifsutils
- debian
- startfile
- Windows
- Printer Driver
- PyLucene
- OpenSCAD
- firefox 파이어폭스
- springboot #spring #jackson
- Regex
Archives
- Today
- Total
JJC's 테크니컬 다이어리
Python 3 키움증권 Open API+ 한글 인코딩 문제 본문
문제점 설명:
윈도우표시언어가 영문인 상태에서
키움증권 Open API+ (OCX)를 Python 3에서 PyQT5 를 이용하여 사용할 때
한글이 깨지는 문제가 있을 수 있다.
아래와 같이 코드를 사용하여 텍스트에디트(QTextEdit)에 dynamicCall의 반환된 텍스트를 대입하는 경우 발생하였다. (윈10, 표시언어:영문 상태 에서 발생)
self.text_edit.append("종목명: " + name.strip())
<문제화면1. 깨진 한글 종목명>
해결을 위하여 검색과 분석등 다양한 방법으로 원인을 분석해 보았다.
해당 증권사 api 에서 반환되는 텍스트인코딩이 UTF-8같은 유니코드가 아니라 ISO8859-1(Latin-1) 기반이라는 사실을 힘겹게 확인할 수 있었다.
이를 바탕으로 다음의 코드 수정으로 정상적으로 한글이 표시되게 할 수 있었다.
#self.text_edit.append("종목명: " + name.strip())
self.text_edit.append("종목명: " + name.strip().encode('ISO8859-1').decode('euc-kr'))
self.text_edit.append("거래량: " + volume.strip())
<문제화면2. 정상표시 한글 종목명>