MySQL 특수문자 insert 질문

MySQL 특수문자 insert 질문

QA

MySQL 특수문자 insert 질문

본문

안녕하세요. PHP에서 MySQL로 데이터를 insert 하고 있습니다.


그런데 특수문자를 입력하면 값이 공백으로 들어가지 않습니다..ㅠㅠ


339fdd9f567b54470c5d1d43bf4715f0_1500345496_9926.JPG


339fdd9f567b54470c5d1d43bf4715f0_1500345496_745.JPG


339fdd9f567b54470c5d1d43bf4715f0_1500345496_7684.JPG
 

339fdd9f567b54470c5d1d43bf4715f0_1500346769_0053.JPG
 

우선 모자이크가 많아서 죄송합니다.

특정 데이타베이스가 있고 테이블이 있고 그안에 컬럼까지 언어셋 utf8mb4로 설정했습니다.


name 컬럼에 닉네임을 입력 하는데 특수문자를 입력하면 특수문자 데이터만 들어가질 않습니다.


예) ★테※스ぉ트 라고 name에 적고 insert 되면 특수문자는 없고 "테 스 트" 라고 테이블에 저장됩니다.

339fdd9f567b54470c5d1d43bf4715f0_1500345757_9216.JPG


아래는 php에서 mysql insert 할 때 사용하는 코드 일부입니다.


$subject = addslashes($arr['subject']);
$name = addslashes($arr['name']);

$conn->query("insert into Table_name
                            set no = '{$arr['no']}',
                                 subject = '{$subject}', 
                                 name = '{$name}',
                                 comment = 0");
}


어떤 게 문제일까요?ㅠㅠ


이 질문에 댓글 쓰기 :

답변 2

utf8mb4 형식을 사용해서 4바이트 특수문자(Emoji 의 문자열)도 저장이 되니까 좋은 거지만요

디비 세팅이 utf8mb4 가 아닌 경우에 저것으로 밀어 넣는것은 안되겠죠.

디비 설정값을 확인해조세요. utf8mb4 인지 utf8_general_ci 인지 ...

참고 http://www.happyjung.com/lecture/2356

인코딩 타입의 문제인듯 보여집니다.

 

지금 보여지는 utf8mb4 이런식으로 시작되어지는데

 

인코딩 타입을 utf8_general_ci 타입으로 설정해 주셔야 합니다. 

답변을 작성하시기 전에 로그인 해주세요.
전체 39
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT