[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


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");구문 추가






#완료




댓글

이 블로그의 인기 게시물

파이썬 코드 윈도우 WPF(C#) UI로 배포(exe파일)

[WPF] 텍스트 에디터 - AvalonEdit 사용/제어

(아이온 매크로)아이온 일반 키보드로 H/W스왑 매크로