전체 글
- 참고하기 좋은 사이트 2021.11.15
- 참고하기 좋은 사이트 2021.11.15
- 데이터베이스 연결 문제 고쳤다 2021.11.14 1
참고하기 좋은 사이트
2021. 11. 15. 00:33
참고하기 좋은 사이트
2021. 11. 15. 00:33
728x90
데이터베이스 연결 문제 고쳤다
2021. 11. 14. 22:44
1. 내가 잊을까봐 적는 flask run 전 할 일.
- app.py conn_db() 안에 있는 passwd 내거로 바꾸기
- db.py passwd 내거로 바꾸기
2. 오류고치기
자꾸 python app.py 로 실행하려고 하면
site-packages\pymysql\connections.py", line 294, in __init__
self.password = self.password.encode("latin1")
UnicodeEncodeError: 'latin-1' codec can't encode characters in p
osition 0-3: ordinal not in range(256)
이런 오류가 나서 내가 개발하고 있는 프론트만 확인할 수 있었다.
엄청난 구글링 후에 감사한 분이 올리신 글을 통해 오류가 나는 원인과 해결방안을 알 수 있었다.
링크는 아래에 걸어 놓았다.
대충 요약하자면 mysql은 encoding을 무조건 latin-1로 하며, mysql을 처음 깔았다던지 새로운 버전을 다운받은 사람들은 encoding을 'UTF-8'로 고쳐주는 코드가 필요하다는 것이었다.
#database 접근
db = pymysql.connect(host='localhost',
port=3306,
user='root',
passwd='사용자비밀번호',
db='satellite',
charset='utf8')
# database를 사용하기 위한 cursor
cursor= db.cursor()
# 이부분!!!!!!!!!
cursor.execute('SET NAMES utf8;')
cursor.execute('SET CHARACTER SET utf8;')
cursor.execute('SET character_set_connection=utf8;')
위 주석을 달아놓은 코드를 추가하면 잘 해결된다.... 추가적으로 pymysql.connect() 안에 charset='utf8'도 추가해야한다!
그럼 오늘 일기 끝.
※ 나 같은 사람이 있을지 모르니 남겨놓는다
flask run 과 python app.py는 둘다 flask 실행이 되지만 flask run은 디버깅이 안된다. 그래서 오류가 나도 제대로 원인을 알려주지 않으니 python app.py를 이용하자.
https://dasprids.de/blog/2007/12/17/python-mysqldb-and-utf-8/
728x90
'Diary' 카테고리의 다른 글
Solved.ac 새싹 4단계 달성😊 (0) | 2022.04.25 |
---|---|
퍼스널 컬러 받은 날 (0) | 2022.02.22 |
1월 21일 일기 (0) | 2022.01.22 |
1월 20일 일기 (0) | 2022.01.20 |
1월 3일 할 일 & 결과 (0) | 2022.01.02 |