PHP
PHP htmlspecialchars() 사용 시 특정 한글 깨짐 현상 해결 방법!
htmlsepcialchars() 함수를 사용 해도 불구하고 특정 한글이 깨져서 나올 때가 있다.
예를들어 쓔,쌰,햨,혘,큙 등의 일반적이지 않은 한글들
1. htmlsepcialchars() 사용방법
- 일반적으로 특수문자 (<,>,$,@등)의 html 코드화(lt,gt등)으로 변환하는문제를 처리해야 할 때 사용한다.
- PHP5.3 이하 버전에서는 하나의 매개변수 (string)를 필요로 했었는데
- PHP5.4 이상 버전으로 가면서 4개의 매개변수 (string,flags,encoding,double_encode )를 사용해야 동작한다.
- 마지막 double_encode 는 필요에 의해 사용하면 된다.
- 자세한 내용은 여기를 참조
2.특정 한글(쓔,쌰,쎩,큚 등)의 깨짐 현상 해결
- 필자의 경우 기존 htmlsepcialchars($string)을 PHP고도화작업에 따라 최신화 시켜줘야 했었고
- 그에따라 아래의 경우로 바꿨음에도 불구하고 특정 한글이 html lt,gt형식의 표현화가 되어 깨지는 현상이 발생했다.
$title ="제목입니다,이쓔";
$title = htmlspecialchars($title, ENT_QUOTES, 'ISO-8859-1');
echo $title;
// 결과값
// 제목입니다,이쓔
- 해결하기위해 구글링을 해본 결과, 마지막 double_encode 값이 true로 기본 설정되어있어 발생하는 현상으로
- 아래와 같이 false 처리를 통해 문제를 해결 할 수 있었다.
$title ="제목입니다,이쓔";
$title = htmlspecialchars($title, ENT_QUOTES, 'ISO-8859-1',false);
echo $title;
// 결과값
// 제목입니다,이쓔;
내용이 유익하셨다면 구독 및 좋아요 클릭 부탁드려요 :)
오늘 하루도 즐거운 하루 보내세요!
'Language > PHP' 카테고리의 다른 글
[로직]모래시계 출력 로직 , 큰 모래시계 작은 모래시계 출력 하기 (1) | 2020.04.23 |
---|---|
[로직]이등변 삼각형 출력 로직 , 큰 이등변 삼각형 작은 이등변 삼각형 출력 하기 (1) | 2020.04.23 |
PHP Warning: gzinflate(): stream error in 오류 해결하기 (0) | 2020.04.08 |
PHP Warning: preg_match(): No ending delimiter '/' found in 오류 해결하기 (0) | 2020.04.08 |
PHP Warning: copy() expects parameter 1 to be a valid path, array given in 오류 해결하기 (0) | 2020.04.06 |