MSSQL + LARAVEL 환경에서 한글이 ???? 로 나올때

서세윤·2025년 3월 10일

한시간을 꼬라박았다

도커를 통해 라라벨 설치 후 mssql연결하는것 까지 완료
이후, 서로 다른 디비 db1,db2를 불러오는 라라벨 셋팅 까지 완료하였다.

그러나 sso셋팅을 하기위해 임시로 운영서버의 데이터를 가져왔고
한글로 집어넣었다.

그랬더니
?????????

fetch결과로 한글은 모두 ????로 나오는것이 아닌가...

뭐지...
하면서 천천히 되돌아 보았지만, 도무지 알수없는...
애꿋은 env파일과 database.php 만 만지작 거리고
그래도 전혀 결과가 보이지 않았다.

에이~ 혹시 하는 생각으로 ssms로 직접 select를 해보았고
데이터 자체가 ????로 들어간것을 확인했다..
맙소사.. 나는 laravel에서 가져올때 문제인줄 알았는데 ㅜㅜㅜ

의심되는 사항은 collate 와, 언어셋팅..

우선 디비의 collate를 운영서버와 일치화 해보았다
= 실패
언어셋팅을 한국어로 바꿔보았다
= 실패

후...

뭐지~ 뭐지 하면서 살펴보던 도중
팀장님 헬프를 했는데, 테이블 collate를 말해주었다

아니 설마~?? 하고 봤더니
아니.. 바꾸기 전 collate였다

왜지???
난 운영서버 테이블 그대로 스크립트 가져온건데???

알고보니 기본언어셋팅을 가져오게 되어있엇던것...

그래서 테이블 삭제 후 다시 넣으니
언어셋팅이 Korean_Wansung_CI_AS 로 정상적으로 들어가는것을 확인했고,
데이터를 다시 넣으니 정상적으로 노출되었다..

결론
????로 나올땐
1.DB 데이터 언어
2.테이블의 컬럼 데이터언어
3.ssms 언어셋팅

추가글
.env파일에 DB_COLLATION=Korean_Wansung_CI_AS 추가만 해줘도 마이그레이션할때 알아서 해주더랬다..

profile
개잡부..

0개의 댓글