한글이 깨지네요..ㅜ 정보
한글이 깨지네요..ㅜ
본문
http://hyunho.elogin.co.kr/ybnara/map/search_flex_map.php
여기서 다른데는 다 멀쩡한데..
검색하면은 검색된 주소가 한글이 깨져서 나오네요.ㅜㅜ
뭐가문제인가요.ㅜㅜ
<?
$g4_path = "..";
include_once("$g4_path/common.php");
include_once("../map_head.php");
$g4[title] = "지도 검색";
?>
<style type="text/css">
.field { border:1px solid #cccccc; }
.field1 { border:1px solid #7B9EBD; }
</style>
<script language='javascript'>
function goSearchMap(lyjX, lyjY, lyjADDR){
document.search_map.lyjX.value = lyjX;
document.search_map.lyjY.value = lyjY;
document.search_map.lyjADDR.value = lyjADDR;
document.search_map.action = "search_flex_map.php";
document.search_map.submit();
}
function fm2(src, id, w, h, t, m, x, y, n, z) {
var s = '';
var s_id = '';
var s_t = '';
(id == "") ? s_id="swf" : s_id = id;
(t == "Y") ? s_t = '<param name="wmode" value="transparent">' : s_t='';
(m == "Y") ? m = 'true' : m = 'false';
s += '<object type="application/x-shockwave-flash" ';
s += 'classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" ';
s += 'codebase="http://fpdownload.macromedia.com/';
s += 'pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"';
s += 'id="'+s_id+'" width="'+w+'" height="'+h+'">';
s += '<param name="allowScriptAccess" value="always">';
s += '<param name="Flashvars" value="param1='+x+'¶m2='+y+'¶m3='+n+'¶m4='+z+'">';
s += '<param name="movie" value="'+src+'">';
s += '<param name="quality" value="high">';
s += s_t;
s += '<param name="menu" value="'+m+'">';
s += '<param name="swliveconnect" value="true">';
s += '<embed src="'+src+'" quality="high" menu="'+m+'" ';
s += 'width="'+w+'" height="'+h+'" swliveconnect="true" ';
s += 'id="'+s_id+'" name="'+s_id+'" type="application/x-shockwave-flash" ';
s += 'FlashVars="param1='+x+'¶m2='+y+'¶m3='+n+'¶m4='+z+'" ';
s += 'pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>';
s += '<\/object>';
document.write(s);
}
</script>
<table width="100%" cellpadding="0" cellspacing="0" border="0" align="center">
<tr><td width="300" valign="top">
<form name="search_map" action="" method="post">
<input type="hidden" name="lyjX">
<input type="hidden" name="lyjY">
<input type="hidden" name="lyjADDR">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td><input type="text" class="field" name="map_address" required itemname="검색할 주소" value="<?=$map_address?>" style="ime-mode:active"> <input type="image" src="./img/btn_search.gif" border="0" align="absmiddle"></td></tr>
<tr><td height=5></td></tr>
<tr><td style="color:#336600;font-weight:bold;">주소 입력 예 : 명동 31-23</td></tr>
</table>
</form>
<SCRIPT LANGUAGE="JavaScript" src="http://map.naver.com/js/naverMap.naver?key=8ee4939e8a77d78aebe56cd3eabc8510"></SCRIPT>
<?
$map_key = "key=8ee4939e8a77d78aebe56cd3eabc8510" ;
$flex_key = "8ee4939e8a77d78aebe56cd3eabc8510" ;
if(!$map_address) {
$map_x_point = "288202";
$map_y_point = "539331";
$map_address = "인천시남동구만수1동1001";
} else {
$map_query = str_replace(" ","%20",$map_address);
// 여기부터 주소 검색 xml 파싱
$pquery = $map_key. "&query=". $map_query;
$fp = fsockopen ("map.naver.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)";
} else {
fputs($fp, "GET /api/geocode.php?");
fputs($fp, $pquery);
fputs($fp, " HTTP/1.1\r\n");
fputs($fp, "Host: maps.naver.com\r\n");
fputs($fp, "Connection: Close\r\n\r\n");
$header = "";
while (!feof($fp)) {
$out = fgets ($fp,512);
if (trim($out) == "") {
break;
}
$header .= $out;
}
$mapbody = "";
while (!feof($fp)) {
$out = fgets ($fp,512);
$mapbody .= $out;
}
$idx = strpos(strtolower($header), "transfer-encoding: chunked");
if ($idx > -1) { // chunk data
$temp = "";
$offset = 0;
do {
$idx1 = strpos($mapbody, "\r\n", $offset);
$chunkLength = hexdec(substr($mapbody, $offset, $idx1 - $offset));
if ($chunkLength == 0) {
break;
} else {
$temp .= substr($mapbody, $idx1+2, $chunkLength);
$offset = $idx1 + $chunkLength + 4;
}
} while(true);
$mapbody = $temp;
}
fclose ($fp);
}
// 여기까지 주소 검색 xml 파싱
// 여기부터 좌표값 변수에 등록
$map_x_point_1=explode("<x>", $mapbody);
$map_x_point_2=explode("</x>", $map_x_point_1[1]);
$map_x_point=$map_x_point_2[0];
$map_y_point_1=explode("<y>", $mapbody);
$map_y_point_2=explode("</y>", $map_y_point_1[1]);
$map_y_point=$map_y_point_2[0];
if(!$map_x_point || !$map_y_point) {
alert("검색결과가 없습니다.\\n\\n정확한 주소를 입력해주세요.");
}
$map_addrY = array_slice($map_x_point_1, 1);
}
if($mapbody) {
?>
<div style="overflow-x:hidden; overflow-y:auto;height:550px;">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td>●검색된 주소 : <?=$map_x_point_1[0]?></td></tr>
<?
foreach($map_addrY as $user) {
$kliteM = trim(strip_tags($user));
$kliteM = preg_replace('(\s+)',' ',$kliteM);
$kliteM = explode(" ", $kliteM, 3);
?>
<tr><td><IMG SRC="./img/board_icon.gif" WIDTH="9" align="absmiddle"><A href="#" onClick="goSearchMap('<?=$kliteM[0]?>','<?=$kliteM[1]?>','<?=$kliteM[2]?>');"><?=$kliteM[2]?></A></td></tr>
<?}?>
<tr><td height=15></td></tr>
</table>
</div>
<?}?>
<?
if($lyjX && $lyjY && $lyjADDR) {
$map_x_point = $lyjX;
$map_y_point = $lyjY;
$map_address = $lyjADDR;
}
?>
</td>
<td width="700">
<div id='mapContainer' style="display:none;"></div>
<table width="700" cellpadding="5" cellspacing="1" bgcolor="#4E7390" >
<tr>
<td>
<table width="100%" cellpadding="0" cellspacing="0" bgcolor="eeeeee" >
<tr>
<td>
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td>
<SCRIPT LANGUAGE="JavaScript">
var x_point = <? echo $map_x_point; ?>;
var y_point = <? echo $map_y_point; ?>;
var loc_Point = new NPoint(x_point,y_point);
var opts = {width:500, height:200, mapMode:2};
var mapObj = new NMap(document.getElementById('mapContainer'),opts);
var lating = mapObj.fromTM128ToLatLng(loc_Point);
var kyj = lating.toString();
var posx = kyj.substr(0,10);
var posy = kyj.substr(11,11);
fm2("../map/search_flex_map1.swf", "adma_flash_map", 700, 600, "Y", "N", posx, posy, "<?=$map_address?>","<?=$flex_key?>");
</SCRIPT>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td></tr></table>
<?
include_once("../map_tail.php");
?>
여기서 다른데는 다 멀쩡한데..
검색하면은 검색된 주소가 한글이 깨져서 나오네요.ㅜㅜ
뭐가문제인가요.ㅜㅜ
<?
$g4_path = "..";
include_once("$g4_path/common.php");
include_once("../map_head.php");
$g4[title] = "지도 검색";
?>
<style type="text/css">
.field { border:1px solid #cccccc; }
.field1 { border:1px solid #7B9EBD; }
</style>
<script language='javascript'>
function goSearchMap(lyjX, lyjY, lyjADDR){
document.search_map.lyjX.value = lyjX;
document.search_map.lyjY.value = lyjY;
document.search_map.lyjADDR.value = lyjADDR;
document.search_map.action = "search_flex_map.php";
document.search_map.submit();
}
function fm2(src, id, w, h, t, m, x, y, n, z) {
var s = '';
var s_id = '';
var s_t = '';
(id == "") ? s_id="swf" : s_id = id;
(t == "Y") ? s_t = '<param name="wmode" value="transparent">' : s_t='';
(m == "Y") ? m = 'true' : m = 'false';
s += '<object type="application/x-shockwave-flash" ';
s += 'classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" ';
s += 'codebase="http://fpdownload.macromedia.com/';
s += 'pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"';
s += 'id="'+s_id+'" width="'+w+'" height="'+h+'">';
s += '<param name="allowScriptAccess" value="always">';
s += '<param name="Flashvars" value="param1='+x+'¶m2='+y+'¶m3='+n+'¶m4='+z+'">';
s += '<param name="movie" value="'+src+'">';
s += '<param name="quality" value="high">';
s += s_t;
s += '<param name="menu" value="'+m+'">';
s += '<param name="swliveconnect" value="true">';
s += '<embed src="'+src+'" quality="high" menu="'+m+'" ';
s += 'width="'+w+'" height="'+h+'" swliveconnect="true" ';
s += 'id="'+s_id+'" name="'+s_id+'" type="application/x-shockwave-flash" ';
s += 'FlashVars="param1='+x+'¶m2='+y+'¶m3='+n+'¶m4='+z+'" ';
s += 'pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>';
s += '<\/object>';
document.write(s);
}
</script>
<table width="100%" cellpadding="0" cellspacing="0" border="0" align="center">
<tr><td width="300" valign="top">
<form name="search_map" action="" method="post">
<input type="hidden" name="lyjX">
<input type="hidden" name="lyjY">
<input type="hidden" name="lyjADDR">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td><input type="text" class="field" name="map_address" required itemname="검색할 주소" value="<?=$map_address?>" style="ime-mode:active"> <input type="image" src="./img/btn_search.gif" border="0" align="absmiddle"></td></tr>
<tr><td height=5></td></tr>
<tr><td style="color:#336600;font-weight:bold;">주소 입력 예 : 명동 31-23</td></tr>
</table>
</form>
<SCRIPT LANGUAGE="JavaScript" src="http://map.naver.com/js/naverMap.naver?key=8ee4939e8a77d78aebe56cd3eabc8510"></SCRIPT>
<?
$map_key = "key=8ee4939e8a77d78aebe56cd3eabc8510" ;
$flex_key = "8ee4939e8a77d78aebe56cd3eabc8510" ;
if(!$map_address) {
$map_x_point = "288202";
$map_y_point = "539331";
$map_address = "인천시남동구만수1동1001";
} else {
$map_query = str_replace(" ","%20",$map_address);
// 여기부터 주소 검색 xml 파싱
$pquery = $map_key. "&query=". $map_query;
$fp = fsockopen ("map.naver.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)";
} else {
fputs($fp, "GET /api/geocode.php?");
fputs($fp, $pquery);
fputs($fp, " HTTP/1.1\r\n");
fputs($fp, "Host: maps.naver.com\r\n");
fputs($fp, "Connection: Close\r\n\r\n");
$header = "";
while (!feof($fp)) {
$out = fgets ($fp,512);
if (trim($out) == "") {
break;
}
$header .= $out;
}
$mapbody = "";
while (!feof($fp)) {
$out = fgets ($fp,512);
$mapbody .= $out;
}
$idx = strpos(strtolower($header), "transfer-encoding: chunked");
if ($idx > -1) { // chunk data
$temp = "";
$offset = 0;
do {
$idx1 = strpos($mapbody, "\r\n", $offset);
$chunkLength = hexdec(substr($mapbody, $offset, $idx1 - $offset));
if ($chunkLength == 0) {
break;
} else {
$temp .= substr($mapbody, $idx1+2, $chunkLength);
$offset = $idx1 + $chunkLength + 4;
}
} while(true);
$mapbody = $temp;
}
fclose ($fp);
}
// 여기까지 주소 검색 xml 파싱
// 여기부터 좌표값 변수에 등록
$map_x_point_1=explode("<x>", $mapbody);
$map_x_point_2=explode("</x>", $map_x_point_1[1]);
$map_x_point=$map_x_point_2[0];
$map_y_point_1=explode("<y>", $mapbody);
$map_y_point_2=explode("</y>", $map_y_point_1[1]);
$map_y_point=$map_y_point_2[0];
if(!$map_x_point || !$map_y_point) {
alert("검색결과가 없습니다.\\n\\n정확한 주소를 입력해주세요.");
}
$map_addrY = array_slice($map_x_point_1, 1);
}
if($mapbody) {
?>
<div style="overflow-x:hidden; overflow-y:auto;height:550px;">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td>●검색된 주소 : <?=$map_x_point_1[0]?></td></tr>
<?
foreach($map_addrY as $user) {
$kliteM = trim(strip_tags($user));
$kliteM = preg_replace('(\s+)',' ',$kliteM);
$kliteM = explode(" ", $kliteM, 3);
?>
<tr><td><IMG SRC="./img/board_icon.gif" WIDTH="9" align="absmiddle"><A href="#" onClick="goSearchMap('<?=$kliteM[0]?>','<?=$kliteM[1]?>','<?=$kliteM[2]?>');"><?=$kliteM[2]?></A></td></tr>
<?}?>
<tr><td height=15></td></tr>
</table>
</div>
<?}?>
<?
if($lyjX && $lyjY && $lyjADDR) {
$map_x_point = $lyjX;
$map_y_point = $lyjY;
$map_address = $lyjADDR;
}
?>
</td>
<td width="700">
<div id='mapContainer' style="display:none;"></div>
<table width="700" cellpadding="5" cellspacing="1" bgcolor="#4E7390" >
<tr>
<td>
<table width="100%" cellpadding="0" cellspacing="0" bgcolor="eeeeee" >
<tr>
<td>
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td>
<SCRIPT LANGUAGE="JavaScript">
var x_point = <? echo $map_x_point; ?>;
var y_point = <? echo $map_y_point; ?>;
var loc_Point = new NPoint(x_point,y_point);
var opts = {width:500, height:200, mapMode:2};
var mapObj = new NMap(document.getElementById('mapContainer'),opts);
var lating = mapObj.fromTM128ToLatLng(loc_Point);
var kyj = lating.toString();
var posx = kyj.substr(0,10);
var posy = kyj.substr(11,11);
fm2("../map/search_flex_map1.swf", "adma_flash_map", 700, 600, "Y", "N", posx, posy, "<?=$map_address?>","<?=$flex_key?>");
</SCRIPT>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td></tr></table>
<?
include_once("../map_tail.php");
?>
댓글 전체

utf-8 환경이신가보네요.
주소 검색으로 날아온 녀석들이 euc-kr입니다
iconv로 인코딩 변경해주세요~!
주소 검색으로 날아온 녀석들이 euc-kr입니다
iconv로 인코딩 변경해주세요~!

어떻게 해야하나요.ㅜㅜ

iconv("euc-kr", "utf-8", $str); 이것 어디에 넣어야 하나요.ㅜㅜ

<tr><td><IMG SRC="./img/board_icon.gif" WIDTH="9" align="absmiddle"><A href="#" onClick="goSearchMap('<?=$kliteM[0]?>','<?=$kliteM[1]?>','<?=$kliteM[2]?>');"><?=$kliteM[2]?></A></td></tr>
=>
<tr><td><IMG SRC="./img/board_icon.gif" WIDTH="9" align="absmiddle"><A href="#" onClick="goSearchMap('<?=$kliteM[0]?>','<?=$kliteM[1]?>','<?=$kliteM[2]?>');"><?=iconv("euc-kr","utf-8",$kliteM[2])?></A></td></tr>
=>
<tr><td><IMG SRC="./img/board_icon.gif" WIDTH="9" align="absmiddle"><A href="#" onClick="goSearchMap('<?=$kliteM[0]?>','<?=$kliteM[1]?>','<?=$kliteM[2]?>');"><?=iconv("euc-kr","utf-8",$kliteM[2])?></A></td></tr>

검색주소는 꺠지지 않는데.. 검색된 주소 클릭해서 지도에 나타나는 문구는 깨지네요.ㅜㅜ

<tr><td><IMG SRC="./img/board_icon.gif" WIDTH="9" align="absmiddle"><A href="#" onClick="goSearchMap('<?=$kliteM[0]?>','<?=$kliteM[1]?>','<?=iconv("euc-kr","utf-8",$kliteM[2])?>');"><?=iconv("euc-kr","utf-8",$kliteM[2])?></A></td></tr>
통밥을 굴리며 소스를 보면 php구문을 몰라도 자바스크립트를 몰라도 해결할 방법이 있습니다.
무엇이 변화되었는지를 살피면서 왜라는 의문을 가지셔야
소스에 적응이 됩니다.
잘 살펴보세요.
통밥을 굴리며 소스를 보면 php구문을 몰라도 자바스크립트를 몰라도 해결할 방법이 있습니다.
무엇이 변화되었는지를 살피면서 왜라는 의문을 가지셔야
소스에 적응이 됩니다.
잘 살펴보세요.

감사합니다. 엉뚱한곳에 <?=iconv("euc-kr","utf-8",$kliteM[2])?> 이것을 넣어서..ㅜㅜ
정말 정말 감사합니다.
정말 정말 감사합니다.