Knowledge Map

python3 flask pymysql 에서 한글 깨짐 문제 본문

PYTHON/Flask

python3 flask pymysql 에서 한글 깨짐 문제

2017. 12. 11. 17:34

python3에서는 python2에 비해서 한글 인코딩에 대해서 상대적으로 신경을 쓰지 않아도 된다.

그래서 python3 & flask & mysql로 연동해서 간단하게 해보고 있었다.


다른건 잘 나오는데 한글이 ???? 로 나왔다. 이것은 인코딩문제이기 때문에 어디서 문제인지 살펴보았다.


python3의 기본 인코딩 값은 utf8이다.

py 파일의 인코딩은 설정된 값은 utf8이다.

flask는 문자열 처리에 유니코드를 사용한다. 이것에 대응되는 문자 인코딩이 utf8이다.

sqlAlchemy의 createEngine의 기본 세팅도 utf8이다.

mysql db의 문자 인코딩도 utf8dlek.


전부다 utf8이거나 기본값으로 하고 있는데 어디서 문제가 생겼는지 순간적으로 알수가 없었다.

그러다가 문득 pymysql에는 관련 설정이 안되어 있을수도 있겠다고 생각이 들었다.


검색을 하니 금방 나왔다.


conn = pymysql.connect(host='localhost', user='username', 
                       passwd='password', db='database', charset='utf8')

'mysql+pymysql://root:password@127.0.0.1/databasename?charset=utf8'


아래 구문은 create_engine에 설정할 때 넣는 값이다. 만약 그렇게 코딩을 해놓았으면 아래 구문을 참고하면 된다.



'PYTHON > Flask' 카테고리의 다른 글

flask.g  (0) 2018.04.16
Flask내의 CORS  (0) 2016.04.12
플라스트 + AngularJS 연결점  (0) 2016.04.12
플라스크 + angularjs 를 이용한 회원가입 간략한 흐름  (0) 2016.03.31
파이썬 프레임워크 플라스크 -2  (0) 2016.03.24
Comments