[설치] 그누보드를 UTF-8 환경에서 설치 (AJAX 오류) > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

[설치] 그누보드를 UTF-8 환경에서 설치 (AJAX 오류) 정보

[설치] 그누보드를 UTF-8 환경에서 설치 (AJAX 오류)

첨부파일

ajax_mb.zip (3.0K) 26회 다운로드 2009-01-07 20:36:34

본문

작성: freeimage.kr 김성대 09.01.06

서버환경,홈페이지소스, 사용자 모든환경이 UTF 면 문제는 없지만
보통은 서버는 EUC-KR 환경인경우가 많다.. 그러므로 그누보드 UTF-8 버젼을 아무리 깔아도
현 상태로는 AJAX,화면오류메시지 이상등의 문제가 발생된다. (2009.01.06현재)
해결책은 다음과 같다.

1. 홈페이지소스는 UTF-8이어야 한다.. (당연하지만 실수하는경우가 많다.)
   보통 edit-plus 등 편집기로 작업한뒤 저장하면 ANSI 로 저장되는데 UTF-8로 저장해야한다.

2. AJAX로 넘길때는 다음 인코딩 코드를 넣어주는것이 좋다. (필수적인것은 아니지만.. 추천함)
   encoding: 'utf-8',

3. AJAX 에서 화면을 출력할때는 소스상단에 다음과 같은 라인이 포함되어야 한다.
   이게 포함되지 않으면 windows 오류 메시자가 나온다. (최악의 경우 브라우즈가 다운되는경우도 있다.)
   header("Content-type: text/html;charset=UTF-8");

  그누보드 아이디확인코드는 다음과 같이 바꾸여야 한다//

1. skin/memner/basic/ajax_register_form.js

// 회원아이디 검사

function reg_mb_id_check() {
    var url = member_skin_path + "/ajax_mb_id_check.php";
    var para = "reg_mb_id="+encodeURIComponent($F('reg_mb_id'));
    var myAjax = new Ajax.Request(
        url,
        {
            method: 'post',
            // 주소창 보안 방지 javascript:void(document.fregisterform.mb_id_enabled.value='000');
            // 동기식 (폼전송시 입력값이 바른지 검사한 후 mb_id_enabled 를 체크하기 때문)
            asynchronous: false,
            parameters: para,
            onComplete: return_reg_mb_id_check
        });
}
이 함수는 다음으로 대치되어야 한다.
(encodeURIComponent 함수는 없어도 된다.)

// 회원아이디 검사
function reg_mb_id_check() {
    var url = member_skin_path + "/ajax_mb_id_check.php";
    var myAjax = new Ajax.Request(
        url,
        {
            method: 'post',
            // 주소창 보안 방지 javascript:void(document.fregisterform.mb_id_enabled.value='000');
            // 동기식 (폼전송시 입력값이 바른지 검사한 후 mb_id_enabled 를 체크하기 때문)
            asynchronous: false,
            parameters: { reg_mb_id : $F('reg_mb_id') },
            encoding: 'utf-8',
            onComplete: return_reg_mb_id_check
        });
}

2. ajax_mb_id_check.php 파일의 상단에는 UTF-8 헤드가 추가되어야한다.
include_once("_common.php");
header("Content-type: text/html;charset=UTF-8");  // 이줄 추가..
// 이줄을 추가함으로서 한글을 전송메시지로 사용해도 문제가 없다..

3. 그외 javascript의 alert 함수를 사용하기전에 
  Content-type: text/html;charset=UTF-8 를 출력해야하는데.
현재 버젼에는 전부 적용되어 있는듯하다. 혹시 alert 메시지가 깨어져 나온다면..
다음과 같이 charset 을 추가해주면된다..
 echo "<meta http-equiv=\"content-type\" content=\"text/html; charset=$g4[charset]\">";
 echo "<script language='javascript'>alert('$msg');";
추천
2

댓글 0개

전체 33 |RSS
그누4 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT