[mysql]1366에러 인코딩 깨짐 - 에러처리 이력
에러처리 이력
Mysql 인코딩 깨짐
#에러 상세
파싱 or CS에서 보낸 데이터를 Insert 구문으로 저장할 때
1366에러와 함께 모든 데이터가 ????으로 표기되곤 한다.
#해결 방안
1. my.cnf 수정
[mysqld] default-character-set=utf8 default-collation=utf8_general_ci datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
이거 두줄 추가
default-character-set=utf8
default-collation=utf8_general_ci
default-collation=utf8_general_ci
2. 테이블 속성 변경
mysql> ALTER TABLE [table_name] CONVERT TO CHARSET utf8
3. mysql 재시작
bash# service mysqld restart
4.(번외)_ mysql 연결코드에서 charset 설정
DB에는 멀쩡하지만 php 페이지에서 한글이 안나오는 경우
mysqli_set_charset($conn,"utf8");구문 추가
DB에는 멀쩡하지만 php 페이지에서 한글이 안나오는 경우
mysqli_set_charset($conn,"utf8");구문 추가
댓글
댓글 쓰기