[완료] 미디어위키 설치후 역슬래쉬가 자꾸만 들어가는데 어떻게 하면 해결할 수 있을까요
글쓴이: seojoohyun72 / 작성시간: 월, 2007/08/20 - 4:12오후
미디어위키 1.10.1 버전을 설치했는데
첫화면(대문)에서 이상한 일이 발생했습니다.
아래와 같이 중간중간에 역슬래쉬가 들어갑니다.
어떤 글을 올려도 마찬가지입니다..
왜 그럴까요? T_T
대문
------------------------------------
미디어위\키가 성공\적으로 설치되\었습니\다.
위\키 프로그램에 대\한 정보는이곳에\서 얻을 수 있\습니다.
시\작하기
------------------------------------
* 설정\하기
* 미디어위\키 FAQ
* 미디어위\키 발표 메일링 리스트
Forums:
mysql_real_escape_string 대신 addslashes 사용하여 해결했습니다.
해결방법을 찾았습니다.
출처: http://blog.naver.com/kimbeast?Redirect=Log&logNo=60027850140
(버전 1.10.1 에 맞게 마지막 몇줄을 약간 수정했습니다)
--------------------------------------------------------------------------------------------------------------
한글로 문서 생성하거나 내용을 입력하면 이상하게 \ <- 이 문자가 붙어서 내용이 이상하게 디비에 저장되는 문제가 발생하였다.
벅질라에는 베트남 사람 한명이 저런 문제 겪었다고 적어놨는데 아주 오래전 내용이라 패치되었을꺼라 생각했는데...
이를 해결하기 위해서 장장 php도 익숙치 않은데 1일 걸려서 이 mediawiki의 큰 그림을 파악한 뒤에 하나씩 로그를 찍어보면서 오류를 찾기 시작해서..
결국..mysql_real_escape_string() 이 함수의 오류란걸 알았다.
저 함수에서 이상하게 거치고 나오면 이상한곳에 escape 문자를 붙여버려서 생긴문제였다.
아마도 DB와의 환경이 이상해서 그런가!?
그런데 내가 호스팅 받기 전의 환경은 latin1이라서 크게 문제가 되지 않았는데
euckr이니까..아주 이상한 문제를 발생시켜서
아마 mediawiki를 60번정도 지우고 만들고한거 같다.
--------------------------------------------------------------------------------------------------------------
includes/Database.php 중에서
function strencode( $s ) {
return mysql_real_escape_string( $s , $this->m_Conn )
부분을
function strencode( $s ) {
return addslashes( $s );
로 고치니 해결
--------------------------------------------------------------------------------------------------------------
댓글 달기