FAQ O Matic 설치 이후...
참 해묵은 프로그램이지요.
예전에 설치했다가 다시 깔 일이 있어서 깔았는데, 눈에 가시같은 것이 하나 있네요.
저는 저만 문제가 있는 줄 알았는데, KFUG kr-FAQ(http://www.kr.freebsd.org/fom-serve/cache/1.html)도 동일한 문제가 있는 것 같아 최소한 제가 잘못한(?) 것은 아닌 것 같아 이곳에 질문을 합니다.
현상: http://www.jikji.org/faq/cache/1.html 에 가셔서 [Show Expert Edit Commands] 를 누르면 한글이 깨져 나옴. 클라이언트(저는 IE6.0)에 따라 다른지는 아직 모르겠습니다.
이해 불능:
html 소스 보기를 하면, [윽... 거기에 있는 <!-- 다만, 문서의 내용을 바꾸거나 새로운 내용을 더하는 것은 금지합니다. --> 내용은 더 이상 참이 아닙니다. 예전에 제가 copyweb 개념을 생각할 때고, 지금 저는 좀 다른 생각 중..] charset=euc-kr로 정의가 되어 있으므로 한글이 깨져 나올 이유가 없어 보입니다.
해결노력:
제 기억에 예전에 apache2.x 를 설치했을 때 이런 문제가 없었습니다. 지금은 apache13을 사용하므로, 혹시나 해서 AddDefaultCharset을 euc-kr로 추가해 봤는데, 별 효과 없습니다.
http://sourceforge.net/tracker/index.php?func=detail&aid=659616&group_id=10674&atid=310674 내용츨 참조해서, multibyte patch를 해보았는데, 이것도 아닌 것 같습니다.
혹시나 왜 그런지 이유라도 좀 알려주시면 감사하겠습니다.
perl로 된 CGI 에서는 보통 발생하는 현상입니다.1. per
perl로 된 CGI 에서는 보통 발생하는 현상입니다.
1. perl에 들어있는 CGI.pm의 최신 버전을 CPAN에서 받아 설치합니다.
특히 perl 5.000x는 반드시 업그레이드해야 합니다.
2. 스크립트에서 CGI 객체의 header함수를 부르는 부분을 찾아 다음과 같이
고칩니다.
-->
--
익스펙토 페트로눔
두 가지가 내용이 섞여 있어서 나누어서 여쭈어 봅니다.[quote="
두 가지가 내용이 섞여 있어서 나누어서 여쭈어 봅니다.
use.perl port(perl 5.8.0, use.perl system하면 5.00503) 한 후에 FAQ O Matic 설치를 했었습니다. 말씀하신 내용은 일반적인 내용으로, perl 5.000x 이전 판을 사용한다면 2번 항목의 선행 조건으로 CGI.pm을 최신 판으로 올려야 하는 것으로 이해하면 되나요?
이 부분을 몇 개 찾아보았는데요, 동일한 code는 없고 해서 :? , 단순히 Appearance.pm의 cPageHeader에 말씀하신 code를 넣었습니다.
... 생략...http://www.jikji.org/cgi-bin/fom.cgi?editCmds=compact&file=1 보니까, 한글은 제대로 나오는데, 제일 위에
Server: Apache/1.3.27 (Unix) PHP/4.3.0 Date: Mon, 17 Feb 2003 04:18:39 GMT Content-Type: text/html; charset=ISO-8859-1
라는 글이 표시가 되네요... 이 놈 때문이었다는 것은 확실하네요 :)
cPageHeader를 부르기 전에 호출된 header가 문제일 것 같은데, 제 힘으로 못찾겠습니다... :cry:
모든 .pm에 관련된 것이 아니라 공통적인 한 두 개의 .pm문서라는 가정하에 다른 것을 좀 들여다 봤는데,
OMatic.pm
이 내용이 좀 비슷할까요? 이게 맞다고 해도 어떻게 수정해야 할지 저는 난감..
일감은 준호님 말씀하신 것 같은 "단 한 줄의 문제"일 것 같은데, 그 한 줄을 저는 쉽게 못찾겠습니다. 한번 더 가르침을 주시면 좋겠습니다~
그럼 이만.
인류와 지구를 살리는 길은 소비를 의식적이고 자발적으로 줄이는 것, 바로 거기에 있다.
=========================
우리가 정말 정보의 바다에 살고 있을까?
[quote]두 가지가 내용이 섞여 있어서 나누어서 여쭈어 봅니다.u
네. perl에는 CGI.pm이 들어있는데, 5.000x버전의 CGI.pm은 header함수에서 -charset을 줄 수 없습니다. 5.8이면 괜찮습니다. 근데 use.perl명령이라니 FreeBSD군요.
이 부분은 위의 내용으로 충분할 것 같습니다.
이렇게 고치면 될 것 같네요.
--
익스펙토 페트로눔
해결했습니다!
감사합니다.
사용하는 OS가 FreeBSD가 맞습니다. :)
그리고, cPageHeader를 수정했을 때에는
"Server: Apache/1.3.27 (Unix) PHP/4.3.0 Date: Mon, 17 Feb 2003 04:18:39 GMT Content-Type: text/html; charset=ISO-8859-1"
라는 메시지가 확실하게 화면 제일 위에 표시가 되었습니다.
CGI.pm에서 ISO-8859-1을 EUC-KR로 수정해서 그 내용이 표시가 안되게 했었는데,
준호님 말씀하신 대로 OMatic.pm 에 있는 header() 함수를 수정하고, CGI.pm은 원래 것으로 되돌리니까 보다 더 확실하게! 해결해 주네요.
감사합니다!
인류와 지구를 살리는 길은 소비를 의식적이고 자발적으로 줄이는 것, 바로 거기에 있다.
=========================
우리가 정말 정보의 바다에 살고 있을까?
FreeBSD 에서 port up후.
향후 참조를 위해 내용 새로 더했습니다.
인류와 지구를 살리는 길은 소비를 의식적이고 자발적으로 줄이는 것, 바로 거기에 있다.
=========================
우리가 정말 정보의 바다에 살고 있을까?
댓글 달기