이 문제는 간단히 해결되는 군요.. 정보
제안 이 문제는 간단히 해결되는 군요..관련링크
본문
>
> G4 설치 하고 초기 화면 검색창에
> 검색어를
>
> 도움이 필요한 곳
>
> 이라고 검색하고 메인 화면으로 돌아 오면
> 인기 검색어에...
>
> 곳 도움閃 伍요塢
>
> 이렇게 표기 되어있구요...
> phpMyAdmin으로 g4_popular의 내용을 보면
>
> 도움閃
> 伍요塢
> 곳
>
> 역시 이렇게 저장 되어 있네요...
> 저의 mysql 설정에 무슨 문제가 있는건가요?
>
위 문제에 대해 여러가지 질문과 답변에 올라온 글들을 참조해 봤습니다...
제 수준에서는 감당하기 어려운 점이 있어 다른 방법이 없나 소스를 뒤적이다 보니..
문제는 bbs/search.php 스크립트 중에
$search_str = strtolower($s[$i]);
이 부분이 좀 수상적어 strtolower 함수를 쓰지 않고 해 봤더니 한글이 깨지지 않더군요...
문제는 영문 대문자와 소문자 검색이 좀 틀리게 나온다는 점이구요...
그래서
strtolower 함수를 찾아 보니 대략 해석은 않되지만...
====================================================================
strtolower
(PHP 3, PHP 4, PHP 5)
strtolower -- Make a string lowercase
Description
string strtolower ( string str )
Returns string with all alphabetic characters converted to lowercase.
Note that 'alphabetic' is determined by the current locale. This means that in i.e. the default "C" locale, characters such as umlaut-A (Ä) will not be converted.
====================================================================
Note 부분에 해답의 열쇠가 있는듯 하군요...
http://man.phpschool.com/manual/en/function.strtolower.php
http://kr2.php.net/setlocale
결국 위 두개의 링크를 참조해서...
strtolower 함수가 사용되기 전에
setlocale(LC_ALL, 'ko_KR.eucKR');
위와 같이 로케일을 설정해 주었더니 전혀 깨지는 현상이 없더군요..
결국 서버의 문제라기 보다는 strtolower 함수 문제였던것 같습니다..
일단은 bbs/search.php 파일 맨 위에 아래와 같이 조치해 놓았습니다.
=====================================================================
<?
include_once("./_common.php");
setlocale(LC_ALL, 'ko_KR.eucKR');
if (!$stx)
alert("검색어가 없습니다.");
$g4[title] = "검색 : " . $stx;
include_once("./_head.php");
=====================================================================
저도 초보라 더 좋은 방법은 잘 모르겠습니다...만...
검색시 한글이 깨지는 문제를 해결하기 위해 관리자님께서 검토해 주셨으면 합니다..
> G4 설치 하고 초기 화면 검색창에
> 검색어를
>
> 도움이 필요한 곳
>
> 이라고 검색하고 메인 화면으로 돌아 오면
> 인기 검색어에...
>
> 곳 도움閃 伍요塢
>
> 이렇게 표기 되어있구요...
> phpMyAdmin으로 g4_popular의 내용을 보면
>
> 도움閃
> 伍요塢
> 곳
>
> 역시 이렇게 저장 되어 있네요...
> 저의 mysql 설정에 무슨 문제가 있는건가요?
>
위 문제에 대해 여러가지 질문과 답변에 올라온 글들을 참조해 봤습니다...
제 수준에서는 감당하기 어려운 점이 있어 다른 방법이 없나 소스를 뒤적이다 보니..
문제는 bbs/search.php 스크립트 중에
$search_str = strtolower($s[$i]);
이 부분이 좀 수상적어 strtolower 함수를 쓰지 않고 해 봤더니 한글이 깨지지 않더군요...
문제는 영문 대문자와 소문자 검색이 좀 틀리게 나온다는 점이구요...
그래서
strtolower 함수를 찾아 보니 대략 해석은 않되지만...
====================================================================
strtolower
(PHP 3, PHP 4, PHP 5)
strtolower -- Make a string lowercase
Description
string strtolower ( string str )
Returns string with all alphabetic characters converted to lowercase.
Note that 'alphabetic' is determined by the current locale. This means that in i.e. the default "C" locale, characters such as umlaut-A (Ä) will not be converted.
====================================================================
Note 부분에 해답의 열쇠가 있는듯 하군요...
http://man.phpschool.com/manual/en/function.strtolower.php
http://kr2.php.net/setlocale
결국 위 두개의 링크를 참조해서...
strtolower 함수가 사용되기 전에
setlocale(LC_ALL, 'ko_KR.eucKR');
위와 같이 로케일을 설정해 주었더니 전혀 깨지는 현상이 없더군요..
결국 서버의 문제라기 보다는 strtolower 함수 문제였던것 같습니다..
일단은 bbs/search.php 파일 맨 위에 아래와 같이 조치해 놓았습니다.
=====================================================================
<?
include_once("./_common.php");
setlocale(LC_ALL, 'ko_KR.eucKR');
if (!$stx)
alert("검색어가 없습니다.");
$g4[title] = "검색 : " . $stx;
include_once("./_head.php");
=====================================================================
저도 초보라 더 좋은 방법은 잘 모르겠습니다...만...
검색시 한글이 깨지는 문제를 해결하기 위해 관리자님께서 검토해 주셨으면 합니다..
댓글 전체
좋은 자료네요 감사합니다 ^^
common.php파일은 그누보드가 설치된 폴더 루트에 있고
setlocale(LC_CTYPE, 'C');는 아무데나 껴넣으면? 됩니다.
(원래 매뉴얼을 보니 기본값이라는데 왜 건드렸는지는 모르겠습니다.)
setlocale(LC_CTYPE, 'C');는 아무데나 껴넣으면? 됩니다.
(원래 매뉴얼을 보니 기본값이라는데 왜 건드렸는지는 모르겠습니다.)
setlocale(LC_CTYPE, 'C'); 가 적당할 것 같습니다.
common.php에 넣어둔다든지 하면 괜찮을것 같은데요...
phpschool과 매뉴얼의 setlocale()을 참고했습니다.
common.php에 넣어둔다든지 하면 괜찮을것 같은데요...
phpschool과 매뉴얼의 setlocale()을 참고했습니다.
common.php에 넣어둔다든지 하면 괜찮을것 같은데요...
요거이 위치가 어디인가요?
요거이 위치가 어디인가요?
네 확인해 보겠습니다.
얼마전 글인데 관리자님의 답변이 달렸네요......^^
검토해 주신다니 감사합니다...^^
검토해 주신다니 감사합니다...^^
아 정말 감사합니다.
이 문제로 오전내내 삽질했는데.. 이렇게 쉽게 해결될줄은...ㅜㅠ
고맙습니다.
이 문제로 오전내내 삽질했는데.. 이렇게 쉽게 해결될줄은...ㅜㅠ
고맙습니다.