MySQL 특수문자 insert 질문

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
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 타입으로 설정해 주셔야 합니다. 

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

회원로그인

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