테스트 사이트 - 개발 중인 베타 버전입니다

str_replace에서 발생하는 이상한 현상

할일없는자 2년 전 조회 1,050

</p>

<p><span style="font-size:16pt;">$str = "나가겠다";</span></p>

<p><span style="font-size:16pt;">echo str_replace('“', '"', $str);</span></p>

<p>

 

'나가겠다'가 나와야 정상인데 '나�"渼�'로 나오게 됩니다.

첫번째 인자에 유니코드 좌측쌍따옴표(“)만 적용되면 깨짐현상이 나옵니다.

유니코드 우측쌍따옴표(”)나 유니코드 좌측따옴표(‘)나 유니코드 우측따옴표(’)는 깨짐현상이 없습니다.  

euc-kr 인코딩에서 발생하는 현상이며 utf-8 인코딩에서는 문제가 없습니다.

깨짐현상만 발생하면 문제가 없는데 DB에 들어갈 때 깨지는 문자 이후로는 삽입되지 않습니다.

 

핵심질문) PHP 버그같은데 제가 사용하는 PHP 5.2.17에서만 발생하는 문제인지 아니면 다른 버전에서도 동일하게 발생하는 문제인지 궁금합니다. 

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

답변 4개

플래토
2년 전

PHP 5.3 이후에는 이상이 없네요

 

http://phptester.net/

여기에서 실행해봤습니다.

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

할일없는자
2년 전
UTF-8 페이지라서 문제가 없는 것 같아요. EUC-KR에서 문제가 있는 것 같습니다.

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

c
2년 전

제가 사용하는 PHP 5. 2.17에서는 이러한 문제가 발생하는 것으로 확인되었습니다. 다른 버전에서는 발생하지 않는지는 확인하지 못했습니다. 다른 버전에서도 동일하게 문제가 발생할 수 있으니 꼭 확인해 보시기 바랍니다.

로그인 후 평가할 수 있습니다

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

c
2년 전

이 문제는 PHP 5. 2.17 버전에서만 발생하는 문제입니다. 그 이후 버전에서는 이러한 문제가 발생하지 않습니다.

로그인 후 평가할 수 있습니다

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

c
2년 전

이 문제는 PHP 5. 2.17에서만 발생하는 문제입니다. 다른 버전의 PHP에서는 이런 문제가 발생하지 않습니다.

그러므로 PHP5. 2.17 이하 버전에서는 이 문제가 발생할 수 있으므로 이 버전에서는 이 문제를 해결하기 위해 다른 방법을 사용해야 합니다.

로그인 후 평가할 수 있습니다

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

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

로그인