기본카테고리

PHP] ajax 로 서버에 한글 올려보내고 받을 때

DevReff 2010. 11. 16. 14:43
728x90
SMALL

ajax 에서 서버에 한글을 올려보낼때, 즉 ajx 에서 변수값을 받을 때

 

$fname= rawurldecode(iconv("UTF-8","CP949",$fname));

 

와 같이 사용하고,

 

ajax 로 보낼때에는 encodeURIComponent() 를 사용함

 

예제)

//== a.php ==

...

 

var sword = new Array("", "가", "나", "다", "라", "마", "바", "사", "아", "자", "차", "카", "타", "파", "하");

 

function termbox(a)
{
var params = "tab_ix="+a+"&sword="+encodeURIComponent(sword[a]);
refresh_term_list(params);
tab_ix = a;
}


function refresh_term_list(params) {
$('#ifrm_history').attr('src', "b.php?params="+encodeURIComponent(params));
}

function refresh_term_list_func(params) {
var targetUrl='c.php';
$.ajax({
url: targetUrl,
type: 'POST',
data: params,
dataType: 'html',
success:refresh_term_list_proc,
error:load_error
});
}

function refresh_term_list_proc(data) {
$('#div_term_list').html(data);
}
...

 

/////////////////////////////////////////////////////

// b.php

...

<script>
parent.refresh_term_list_func('<?=$params?>');
</script>
...

 

/////////////////////////////////////////////////////

// c.php

...

$sword = rawurldecode(iconv("UTF-8","CP949",$_POST['sword']));
if(!$sword) $sword = "가";
...