PHP PHP MYSQL 한글깨짐
페이지 정보
본문
php 와 mysql 을 이용해서 저장하는 경우, 디비에 한글이 깨진 상태로 저장되는 경우가 있습니다.
이것은 디비 설정이 utf-8 설정에 문제(?)가 있는 것입니다.
자체 서버를 운영하는 경우는 아래 방법2를 이용해서 해결이 가능합니다.
호스팅을 이용하는 경우는 방법1을 이용해서 대응을 하면 해결이 가능합니다.
1. php 파일 에서 변경하기
$dbconn = mysqli_connect("호스트네임(IP가능)", "사용자 아이디값", "사용자 비밀번호", "사용할 데이터베이스 이름");
아래를 추가 하시면 한글처리가 됩니다.
mysqli_query($dbconn, "set session character_set_connection=utf8;");
mysqli_query($dbconn, "set session character_set_results=utf8;");
mysqli_query($dbconn, "set session character_set_client=utf8;");
2. 서버의 /etc/my.cnf 를 수정하는 방법
1번 방법 처럼 db를 연결 할때마다 utf8로 변경하는 것은 db관리시 불편한 경우가 많습니다.
그래서 /etc/my.cnf에 아래 구문을 추가 한뒤 mysqld를 재시작 합니다.
[mysqld]
collation-server=utf8_unicode_ci
default-character-set=utf8
character-set-server=utf8
init_connect=set collation_connection=utf_unicode_ci
init_connect=set names utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
참고자료
https://inpro.tistory.com/110
이것은 디비 설정이 utf-8 설정에 문제(?)가 있는 것입니다.
자체 서버를 운영하는 경우는 아래 방법2를 이용해서 해결이 가능합니다.
호스팅을 이용하는 경우는 방법1을 이용해서 대응을 하면 해결이 가능합니다.
1. php 파일 에서 변경하기
$dbconn = mysqli_connect("호스트네임(IP가능)", "사용자 아이디값", "사용자 비밀번호", "사용할 데이터베이스 이름");
아래를 추가 하시면 한글처리가 됩니다.
mysqli_query($dbconn, "set session character_set_connection=utf8;");
mysqli_query($dbconn, "set session character_set_results=utf8;");
mysqli_query($dbconn, "set session character_set_client=utf8;");
2. 서버의 /etc/my.cnf 를 수정하는 방법
1번 방법 처럼 db를 연결 할때마다 utf8로 변경하는 것은 db관리시 불편한 경우가 많습니다.
그래서 /etc/my.cnf에 아래 구문을 추가 한뒤 mysqld를 재시작 합니다.
[mysqld]
collation-server=utf8_unicode_ci
default-character-set=utf8
character-set-server=utf8
init_connect=set collation_connection=utf_unicode_ci
init_connect=set names utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
참고자료
https://inpro.tistory.com/110
댓글목록
등록된 댓글이 없습니다.