이전 목록 다음
채택완료

특수문자를 db에 저장하고 싶어요

안녕하세요 

우선 db 버전은

테스트 서버: 10.4.13-MariaDB

실서버 5.5.17-log

두 서버간 차이가 있습니다.

컬럼의 charset: utf8mb4 로 동일합니다.

저장한 데이터를 보시면

테스트서버에선 하트가 잘 들어왔고

2156291633_1614829497.8454.png

실서버에선 물음표로 들어가있습니다

2156291633_1614829533.2416.png

1. 어떻게 해야 실서버에도 하트가 잘 들어갈수있을까요 ㅠㅠ

----

2. 테스트 서버에서 table의 데이터를 목록으로 보니 

2156291633_1614830052.6566.png

하트로 나오지 않고 ?표시로 나오는데 encode가 필요한가요?

원래 하트는 ? 보라색하트입니다.

---- 추가

여기서도 ? 표시로 나와서 이미지로 올립니다.

2156291633_1614830207.0964.png

위에 보시는거와 같이 보라색 하트로 나와줘야하는 친구입니다 ㅠ

|

답변 5개 / 댓글 2개

채택된 답변
+20 포인트
2021-03-04 (목) 22:45:49

리플리케이션으로 들어가는 것인가요?
캐릭터셋 말씀하신것 사용하면 특수문자 들어갈 수 있는게 맞습니다.

그 캐릭터넷이 그러라고 생긴것으로 알고 있습니다.

제생각엔

테이블 캐릭터셋, 커넥션 캐릭터셋 모두 확인해 보시면 될듯 합니다.

답변에 대한 댓글 1개

우선 리플리케이션은 아닙니다. 각 테스트서버, 실서버로 운영되며 각 서비스에서 테스트한거에요

댓글이 달려있어 본문에 수정이 불가해서 댓글로 올렸습니다. 감사합니다.
Copy
SHOW GLOBAL VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';

위 퀴리로 나온 결과

2156291633_1614935826.73.png

무중단으로 변경할수있는거 참조할만한 사이트나, 쿼리 알려주시면 감사합니다!! 

cafe24라 my.cnf를 수정 못해요 ㅠ

2. 은 해결했어요 

Copy
sql_query(" set names utf8mb4 ");

database의 케릭터셋입니다

2156291633_1614927301.8297.png

테이블의 케릭터셋입니다.

2156291633_1614927230.1183.png

컬럼의 케릭터셋입니다.

2156291633_1614927322.7884.png

원문의 마지막 추가에서도 보시다시피 본 커뮤니티에서도 보라색하트가 (?) 물음표 표시 됩니다. ㅠㅠ

2021-03-04 (목) 15:39:23

해당 테이블의 charset 하고 컬럼 전체 charset 스샷을 보여주셔야 할듯..

답변에 대한 댓글 1개

댓글이 달려있어 본문에 수정이 불가해서 댓글로 올렸습니다. 감사합니다.

답변을 작성하려면 로그인이 필요합니다.