회사에서 프로젝트를 하는데 PHP 7에서 MSSQL Insert시 한글이 유니코드로 들어가는 현상이 발생했다.
iconv로 유니코드 데이터를 강제로 euc-kr로 변환하면 들어가긴 하는데...
다른 방법이 있을 것 같아서 찾아보다가 몇일간 삽질했다.
다행히 어느분(아마 한국인)이 PHP 버그 리포트를 올려놨는데 내 현상이랑 같았다.
다양한 테스트 케이스를 올려놓으셔서 정말 도움이 되었다. (그분도 고생 하셨을듯 ㅜㅜ)
링크를 따라 갔더니 GitHub에도 이슈로 올라가져 있더라
내가 진행한 PHP 버전이 7.0.11 이었는데 yum으로 보니까 7.0.12가 올라와있어서 바로 업데이트 했다.
yum update php70w-pdo_dblib
PHP 종속성들도 같이 7.0.12로 올라가고 바로 확인해보니 정상적으로 한글이 들어간다.
구글링 하다보면 nvarchar 컬럼과 bindParam시 N? 형식으로 사용하라는데 테스트 해보니 varchar여도 잘 들어간다.