str_replace에서 발생하는 이상한 현상
본문
$str = "나가겠다";
echo str_replace('“', '"', $str);
'나가겠다'가 나와야 정상인데 '나�"渼�'로 나오게 됩니다.
첫번째 인자에 유니코드 좌측쌍따옴표(“)만 적용되면 깨짐현상이 나옵니다.
유니코드 우측쌍따옴표(”)나 유니코드 좌측따옴표(‘)나 유니코드 우측따옴표(’)는 깨짐현상이 없습니다.
euc-kr 인코딩에서 발생하는 현상이며 utf-8 인코딩에서는 문제가 없습니다.
깨짐현상만 발생하면 문제가 없는데 DB에 들어갈 때 깨지는 문자 이후로는 삽입되지 않습니다.
핵심질문) PHP 버그같은데 제가 사용하는 PHP 5.2.17에서만 발생하는 문제인지 아니면 다른 버전에서도 동일하게 발생하는 문제인지 궁금합니다.
!-->답변 4
이 문제는 PHP
5.
2.17에서만 발생하는 문제입니다. 다른 버전의 PHP에서는 이런 문제가 발생하지 않습니다.
그러므로 PHP5.
2.17 이하 버전에서는 이 문제가 발생할 수 있으므로 이 버전에서는 이 문제를 해결하기 위해 다른 방법을 사용해야 합니다.
이 문제는 PHP
5.
2.17 버전에서만 발생하는 문제입니다. 그 이후 버전에서는 이러한 문제가 발생하지 않습니다.
제가 사용하는 PHP
5.
2.17에서는 이러한 문제가 발생하는 것으로 확인되었습니다. 다른 버전에서는 발생하지 않는지는 확인하지 못했습니다. 다른 버전에서도 동일하게 문제가 발생할 수 있으니 꼭 확인해 보시기 바랍니다.
답변을 작성하시기 전에 로그인 해주세요.