centOS 에서 python으로 mysql의 데이터 꺼내왔을 때 한글이 물음표??로 표기 되는 것은 어떻게 해결해야할까요

조회수 454회

centOS locale 정보는 아래와 같구요

LANG=ko_KR.UTF-8
LC_CTYPE="ko_KR.UTF-8"
LC_NUMERIC="ko_KR.UTF-8"
LC_TIME="ko_KR.UTF-8"
LC_COLLATE="ko_KR.UTF-8"
LC_MONETARY="ko_KR.UTF-8"
LC_MESSAGES="ko_KR.UTF-8"
LC_PAPER="ko_KR.UTF-8"
LC_NAME="ko_KR.UTF-8"
LC_ADDRESS="ko_KR.UTF-8"
LC_TELEPHONE="ko_KR.UTF-8"
LC_MEASUREMENT="ko_KR.UTF-8"
LC_IDENTIFICATION="ko_KR.UTF-8"
LC_ALL=

DB에는 예를들어서 "이것은 1336;테스트가 맞아"라고 저장 되어있는 걸 조회해서 CentOS에서 print문 찍어보면 "??? 1336;??????? ??" 이렇게 나오네요... 문제가 ㅂ뭘까요... "# -- coding:euc-kr -- "이런걸 해봐도 소용이 없네요

1 답변

    1. # -- coding: euc-kr -- 이런 것은 파이썬 스크립트 소스파일 자체의 인코딩을 알려주는 것입니다. 보통 인코딩 관련한 문제에 아무 도움도 주지 못합니다.
    2. 디비로부터 가져온 바이트열이 어떤 문자인코딩으로 되어 있는지를 확인해야 할텐데, print 문으로는 그 확인이 상당히 어렵고, 많은 경우 혼동만 야기합니다.
    3. 문제는 데이터베이스의 인코딩과 연결스트링에서 지정하는 문자열인코딩이 맞지 않아서 발생했을 가능성이 크다고 생각합니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)