[설치] 그누보드를 UTF-8 환경에서 설치 (AJAX 오류) 정보
[설치] 그누보드를 UTF-8 환경에서 설치 (AJAX 오류)첨부파일
본문
작성: 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');";
서버환경,홈페이지소스, 사용자 모든환경이 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
2
댓글 0개