티스토리 뷰
회사에서 이용하는 서버가 php5 버전대였는데, 최근에 7로 버전업을 했다.
테스트 서버에서 확인하는데... 아니 안된다.
한글이 모두 빈 값으로 출력 되길래 단계단계 echo 로 찍었더니
htmlspecialchars 함수를 지나고 나면 값이 null 이 되어 버린다?
PHP 는 공식문서가 잘 되어있으니까~
http://php.net/manual/en/function.htmlspecialchars.php
참고해서 보니까
encoding
An optional argument defining the encoding used when converting characters.
If omitted, the default value of the encoding
varies depending on the PHP version in use. In PHP 5.6 and later, the default_charset configuration option is used as the default value. PHP 5.4 and 5.5 will use UTF-8 as the default. Earlier versions of PHP use ISO-8859-1.
이렇단다??
아무튼 null 이 된다는 건 인코딩에 오류인데, 인코딩값 설정해주니까 잘 나옴~~
수정 전
htmlspecialchars($contents);
수정 후
htmlspecialchars($contents, ENT_SUBSTITUTE,'ISO-8859-1');
두번째 들어가는 플래그(ENT_SUBSTITUTE)는 유효하지 않은 코드를 빈 값으로 변환하는 대신 유니코드로 채우는 거란다!
'개발 TIP' 카테고리의 다른 글
Microservice/마이크로서비스 개념정리 (0) | 2019.03.29 |
---|---|
Same-origin policy 오류 해결 : document.domain 활용 (0) | 2018.12.05 |
이클립스 자바프로젝트에 패키지 아이콘 안 뜰 때 (0) | 2018.10.31 |
구글 클라우드 플랫폼(GCP/구글 git) 오류 해결 (0) | 2018.09.05 |
php 정규식 문자열 검색 (0) | 2018.08.28 |