테스트 사이트 - 개발 중인 베타 버전입니다

1/ 2차 select 한글 깨짐 관련 문의드립니다. 채택완료

aaab 4년 전 조회 3,256

</p>

<p><meta charset="utf-8">

<script type="text/javascript" src="<a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js"></script>" target="_blank" rel="noopener noreferrer">http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js"></script></a>

<?

function get_selected($field, $value)

{

    return ($field==$value) ? ' selected="selected"' : '';

}</p>

<p>

$market_arr = array(

        '01',

        '02',

        '03'

    );</p>

<p>    $market2_arr = array(

    '02' =>    array(

                            '02_1',

                            '02_2'</p>

<p>                            )

    );</p>

<p>?>

<!-- <FORM name='areaForm'> -->

<select name="wr_14"  id="wr_14">

        <option value="">선택</option>

        <?foreach($market_arr AS $mVal){?>

            <option value="<?=$mVal?>"<?php echo get_selected($wr_14, $mVal); ?>><?=$mVal?></option>

        <?}?>

    </select></p>

<p>

    <?if(!sizeof($market2_arr[$wr_14])) $wr_41_hidden = "display: none;";?>

    <select name="wr_41" id="wr_41" style="<?=$wr_41_hidden?>">

        <option value="">선택</option>

        <?foreach($market2_arr[$wr_14] AS $mk2Val){?>

            <option value="<?=$mk2Val?>"<?php echo get_selected($wr_41, $mk2Val); ?>><?=$mk2Val?></option>

        <?}?>

    </select></p>

<p><script></p>

<p>$(document).ready(function(){</p>

<p>    $('#wr_14').change(function(){

        var val_14 = $(this).val(),

            arr_41 = JSON.parse('<?=json_encode($market2_arr)?>'),

            opt_41 = '';</p>

<p>        if(val_14 in arr_41){

            $('#wr_41').empty();

            len_41 = arr_41[val_14].length;</p>

<p>            opt_41 = "<option value=''>선택</option>";

            for(var i=0; i<len_41; i++){

                opt_41 += "<option value='"+arr_41[val_14][i]+"'>"+arr_41[val_14][i]+"</option>";

            }

            

            $('#wr_41').append(opt_41);

            $('#wr_41').show();

        }else{

            $('#wr_41').val('');

            $('#wr_41').hide();

        }

    });</p>

<p>

});

</script></p>

<p>

 </p>

<p>

 

meta charset  utf -8 일때 와 환경 utf-8 일때는 정상적으로 1차 메뉴 선택시 2차메뉴가 잘나오는데

meta charset euc-kr 이 일때와 ansi 일떄는 작동하지 않는데 무슨문제일까요.

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트

웹페지와  db설정이 인코딩이 안맞는듯 합니다.

php코드 db쿼리 부분에 한번 넣어보시면 보시면 될겁니다.

 

대부분 한글 깨짐 원인이 웹페이지 인코딩과 db설정 간에 인코딩이 불일치 해석 그렇습니다.

일맥상통으로 맞춰주시면 될듯합니다.

 

</p>

<p><strong>mysql_query("set names euckr");</strong></p>

<p><strong>

 

db 테이블 인코딩도 확인해 보시면 확실해 지겠네요

</b></p>

<p> </p>

<pre tabindex="0">
<code>SELECT CCSA.character_set_name FROM information_schema.`TABLES` T,
       information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` CCSA
WHERE CCSA.collation_name = T.table_collation
  AND T.table_schema = "데이터메이스명"
  AND T.table_name = "테이블명";</code></pre>

<p><b>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

ajax는 utf-8만 지원한다는 말은 들은 적이 있네요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

디비 인코딩도 확인하셔야 됩니다

서버 셋팅이 euc-kr 디비 셋팅이 utf-8 이면

iconv 를 이용해서 디비의 결과를 euc-kr 로 변경해서 작업해보세요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

문자 인코딩 차이입니다.

서버 설정시 보통 utf-8 로 많이 사용합니다.

서버에서 지정된 인코딩 외에 다른 인코딩을 지정하면 일부 글자가 깨지게 됩니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

a
aaab
4년 전
서버셋팅이 euc-kr 인데 utf-8로 바꿨을때만 작동합니다..

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인