:: 게시판
:: 이전 게시판
|
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
10/08/08 00:27
아예 검색이 안 되고 있어요. DB자체에는 문자열이 euc-kr 로 들어가 있는 것 같은데 일단 웹서버단은 utf-8로 주고 받고 db query 날릴 때 euc-kr로 변환을 해야하지 않을까요?
10/08/08 00:42
아참, 부연할게요.
제 브라우저는 크롬이고요. 브라우저와 웹 서버 설정에 따라서 urlencode 를 무시(?)하고 url을 씁니다. IE라면 웹 브라우저 설정에서 URL을 유니코드로 보내지 않게 하는 설정이 있어서 urlencode 를 필요로 할 수 있지만, 크롬 등 몇 몇 브라우저는 document charset 을 따르기 때문에 url 도 현 pgr21의 document charset인 utf-8을 따라갑니다. 그래서 urlencode 만으로는 완전한 해결이라 볼 수 없고요. 아마도 php 내부와 db에 있는 문자열이 euc-kr 로 오가는 것 같은데, 이부분을 utf-8로 변환(iconv 함수로)하는 걸 놓치지 말고 하셔야 합니다. 기존에 검색할 때 다음 페이지로 넘어가면 글자가 깨지던 이유는, document charset은 utf-8인데 검색 후 다음 페이지로 이동하는 링크에서 검색어는 euc-kr 로 출력하기 때문에 깨지는 겁니다. 이 문자열을 iconv 를 써서 utf-8로 변환해도 문제가 아마 해결될 겁니다. iconv('EUC-KR', 'UTF-8', 검색어') 이런 식으로요. 단, 일부 문자열은 각 문자셋(charset)간 없는 문자가 있으므로 //IGNORE 옵션 등을 넣어야 할 겁니다. iconv('EUC-KR', 'UTF-8//IGNORE', 검색어')
10/08/08 01:44
조언 감사드립니다.
그런데 iconv를 사용할 문제는 아니었던 것 같습니다. urlencode로 넘어왔을때 urldecode로 다시 받아줘야 하는데 그 부분 처리를 안했네요. 현재 제가 가지고 있는 브라우저(파폭,오페라,크롬,IE)로는 다 테스트 성공했는데 또 옵션에 따라 달라질지 모르겠네요.
|