MySQL 특수문자 insert 질문
본문
안녕하세요. PHP에서 MySQL로 데이터를 insert 하고 있습니다.
그런데 특수문자를 입력하면 값이 공백으로 들어가지 않습니다..ㅠㅠ
우선 모자이크가 많아서 죄송합니다.
특정 데이타베이스가 있고 테이블이 있고 그안에 컬럼까지 언어셋 utf8mb4로 설정했습니다.
name 컬럼에 닉네임을 입력 하는데 특수문자를 입력하면 특수문자 데이터만 들어가질 않습니다.
예) ★테※스ぉ트 라고 name에 적고 insert 되면 특수문자는 없고 "테 스 트" 라고 테이블에 저장됩니다.
아래는 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 인지 ...
인코딩 타입의 문제인듯 보여집니다.
지금 보여지는 utf8mb4 이런식으로 시작되어지는데
인코딩 타입을 utf8_general_ci 타입으로 설정해 주셔야 합니다.
답변을 작성하시기 전에 로그인 해주세요.