4.22.00 (08.02.18) [자동등록방지 필수 패치]를 하고 나서... 정보
4.22.00 (08.02.18) [자동등록방지 필수 패치]를 하고 나서...
본문
전체검색이나 회원검색을 하면 한글이 깨집니다.
이전 버전과 비교해서 찾아보니 common.php 파일의 내용이 약간 다르더군요.
패치내역에는 안올라 와 있던 부분입니다. -_-;;
그중에 아래의 소스가 문제였습니다.
이게 이전 버전과 차이가 뭔지 프로그램에 문외한인 저로서는 알수가 없네요. ㅠ.ㅠ
다만 꼭 이걸 적용해야만 하는가는 궁금합니다.
================== 4.21.04 (07.12.04) ==============
if (isset($sfl)) $qstr .= '&sfl=' . urlencode($sfl); // search field (검색 필드)
=================================================
================== 4.22.00 (08.02.18) ==============
if (isset($sfl)) {
$sfl = mysql_real_escape_string($sfl);
$qstr .= '&sfl=' . urlencode($sfl); // search field (검색 필드)
}
=====================================================
근데,
이해가 안가는건 운영중인 웹사이트 10개중 2개 사이트만 그렇다는 겁니다.
각각의 버전정보는 아래와 같습니다.
============ 한글 깨지는 사이트 =================
PHP Version 4.4.7, MySql 5.0.37
PHP Version 4.4.1, MySql 4.0.27
============ 한글 안깨지는 사이트 ===============
PHP Version 4.4.1, MySql 3.23.56
PHP Version 4.4.1, MySql 4.0.22
PHP Version 4.3.1, MySql 3.23.56
PHP Version 4.3.1, MySql 3.23.56
PHP Version 4.3.11, MySql 4.0.22
PHP Version 4.4.1, MySql 3.23.56
PHP Version 4.4.1, MySql 5.0.19
PHP Version 4.4.1, MySql 5.0.19
PHP나 MySql 버전하고는 상관이 없는듯 하고, 다만 굳이 호스팅에서 차이가 난다면 호스팅 정보를 전부 비교했을때 한글이 깨지는 사이트는 UTF-8 전용 서버라는 겁니다. 물론 제가 설치한 그누보드도 UTF-8 버전이구요.
참고로 한글이 깨지는 웹호스팅사는 카페24하고 아이돔즈이고, 한글이 안깨지는 웹호스팅사는 전부 전부 카페24입니다.
어찌보면 질문일수도 있고 어찌보면 아닐수도 있어 저만 그런지 회원님들도 그런지 궁금하기도 하여 여기에 글 남겨봅니다.
정말 저만 그런가요?
이전 버전과 비교해서 찾아보니 common.php 파일의 내용이 약간 다르더군요.
패치내역에는 안올라 와 있던 부분입니다. -_-;;
그중에 아래의 소스가 문제였습니다.
이게 이전 버전과 차이가 뭔지 프로그램에 문외한인 저로서는 알수가 없네요. ㅠ.ㅠ
다만 꼭 이걸 적용해야만 하는가는 궁금합니다.
================== 4.21.04 (07.12.04) ==============
if (isset($sfl)) $qstr .= '&sfl=' . urlencode($sfl); // search field (검색 필드)
=================================================
================== 4.22.00 (08.02.18) ==============
if (isset($sfl)) {
$sfl = mysql_real_escape_string($sfl);
$qstr .= '&sfl=' . urlencode($sfl); // search field (검색 필드)
}
=====================================================
근데,
이해가 안가는건 운영중인 웹사이트 10개중 2개 사이트만 그렇다는 겁니다.
각각의 버전정보는 아래와 같습니다.
============ 한글 깨지는 사이트 =================
PHP Version 4.4.7, MySql 5.0.37
PHP Version 4.4.1, MySql 4.0.27
============ 한글 안깨지는 사이트 ===============
PHP Version 4.4.1, MySql 3.23.56
PHP Version 4.4.1, MySql 4.0.22
PHP Version 4.3.1, MySql 3.23.56
PHP Version 4.3.1, MySql 3.23.56
PHP Version 4.3.11, MySql 4.0.22
PHP Version 4.4.1, MySql 3.23.56
PHP Version 4.4.1, MySql 5.0.19
PHP Version 4.4.1, MySql 5.0.19
PHP나 MySql 버전하고는 상관이 없는듯 하고, 다만 굳이 호스팅에서 차이가 난다면 호스팅 정보를 전부 비교했을때 한글이 깨지는 사이트는 UTF-8 전용 서버라는 겁니다. 물론 제가 설치한 그누보드도 UTF-8 버전이구요.
참고로 한글이 깨지는 웹호스팅사는 카페24하고 아이돔즈이고, 한글이 안깨지는 웹호스팅사는 전부 전부 카페24입니다.
어찌보면 질문일수도 있고 어찌보면 아닐수도 있어 저만 그런지 회원님들도 그런지 궁금하기도 하여 여기에 글 남겨봅니다.
정말 저만 그런가요?
추천
0
0
댓글 5개

4.22.00 버전 utf
common.php 파일부분에
utf 로 urlencode 변환해주는 부분이 빠져서 생기는거 같습니다.
common.php 파일부분에
utf 로 urlencode 변환해주는 부분이 빠져서 생기는거 같습니다.

그러면 utf-8 버전을 설치한 모든 곳에서 동일한 정상이 생겨야 하는거 아닌가요? 특정 사이트만 그런다는게 이해가 안갑니다.
곰순이푸님의 답변으로 해결되지 않았다면 참고하십시요.
get_magic_quotes_gpc()가 0을 리턴하는 환경에서 자체적인 addslashes 루틴이 동작하는데 mysql_real_escape_string 함수를 또 사용해서 그런것은 아닌지요.
만약 위의 문제로 해결되지 않는다면 mysql_real_escape_string 함수를 addslashes() 함수로 대체해서 돌려보세요.
차이점은 몇가지 있는데 mysql_real_escape_string 함수는 % ? 문자는 이스케이프 처리하지 않는다는 군요.
문제점이 속 시원하게 해결되시길....
get_magic_quotes_gpc()가 0을 리턴하는 환경에서 자체적인 addslashes 루틴이 동작하는데 mysql_real_escape_string 함수를 또 사용해서 그런것은 아닌지요.
만약 위의 문제로 해결되지 않는다면 mysql_real_escape_string 함수를 addslashes() 함수로 대체해서 돌려보세요.
차이점은 몇가지 있는데 mysql_real_escape_string 함수는 % ? 문자는 이스케이프 처리하지 않는다는 군요.
문제점이 속 시원하게 해결되시길....

포대장님 말씀처럼하면 글자가 깨지는 일은 없습니다.
결론은 잘못된 함수의 사용이란 얘긴가요? 그렇다면 다른 사이트에서도 동일한 현상이 일어나야 할것 같은데요....
결론은 잘못된 함수의 사용이란 얘긴가요? 그렇다면 다른 사이트에서도 동일한 현상이 일어나야 할것 같은데요....
mysql 문자셋과 입력되는 한글의 문자셋의 차이로 인한 버그인듯 합니다만....
만약 둘다 utf-8임이 명확하다면 mysql_escape_string 함수를 사용해 보세요.
이 함수는 서버와 클라이트간의 문자셋을 확인하지 않는다고 합니다.
그럼...
만약 둘다 utf-8임이 명확하다면 mysql_escape_string 함수를 사용해 보세요.
이 함수는 서버와 클라이트간의 문자셋을 확인하지 않는다고 합니다.
그럼...