login register Sysop! about ME  

2018년 07월 15일 15시 04분 00초,     조회수 : 1727
  제목 : 검색문의
SEQ : 24079 글쓴이 : taejung77

작성 포맷 : TEXT 모드, 자동 줄바꿈 사용

아래 소스는 like 검색 소스입니다. 
영문, 숫자는 검색이 잘 되지만
한글 검색은 되지 않습니다.  이유를 모르겠습니다.


<!--#include file="inc/conf.asp" -->


<% 

	   ' 멤버인지 확인
    if Session("member") <> "ok" then
       Response.Redirect "hc_login.asp"  ' 로그인 페이지로 이동
    end if
	   
%>	   


<%
Response.Charset = "euc-kr"

mo_sona = session("sona") 
Wk_pona = Request("e1_pona")


%>


<%

   Set Conn = Server.CreateObject("ADODB.Connection")	   
   conn.open( DbConnStr )
   Set Rs = Server.CreateObject("ADODB.RecordSet")
   
%>
</p>

  <div data-role="page">
  
      <div data-role="header">
	   	   <a href="#" data-role="button" data-rel="back" data-icon="arrow-l">이전</a>
	     </div>

	     <div data-role="content">
        <% 
           Sql = "select * from jego where je_pona  LIKE '%" & Wk_pona & "%' order by je_pona"    
           Rs.Open Sql, Conn, 1
         %>

            <ul data-role="listview"  data-inset="true"  data-filter="true">
              <%
	   	   	   	   If Not(rs.bof Or rs.eof) Then
	   	   	   	   Do Until rs.eof
	   	   	   	   
              %>
          
	   	       <li> 
	   	   	       <h3><%=rs("je_pcod")%>&nbsp;&nbsp;<%=rs("je_pona")%></h3>
                <p><h3>전체재고: <%=rs("je_jall")%>&nbsp;&nbsp;<%=rs("je_unit")%></h3></p> 
	   	   	   </li>	    
	   	   	   

              <%   
        	   	   Rs.MoveNext   
	           	   Loop
        	   	   End If
        	   	   rs.close
              %>
          </ul>
	   	     
	   	     <form  method="post" action="hc_sale2.asp">
           제품명 : <BR><input type="text" id="ed_pona" name="e1_pona" style="ime-mode: disabled"> 	   	     
	      	   	   
	   	       	   	      
	   	      <center>
	   	        <div data-role="controlgroup" data-type="horizontal"> 
              <input type="submit" value=" 검색하기 "  name="Submit" data-icon="arrow-r" />
	   	   	     <input type="reset" value="다시쓰기" data-icon="delete" />
             </div> 
	   	      </center>
	   	   </form>
	   	     
	   	     
	   	     
	   	     
      </div><!-- Content-->

  </div><!-- page-->


  taejung77
  2018-07-15(20:53)
<input type="text" id="ed_pona" name="e1_pona" style="ime-mode:
disabled">에서 한글로 입력 하면 아래와 같이 한글 깨짐 현상이 일어 나서
결과값( ?쒖엫??ed_Submit=寃??됲븯湲?)

Wk_pona = unescape(Request.form("e1_pona"))
unescape처리와 Response.Charset = "euc-kr"을 했지만 한글깨짐 현상이 발생 하네요
혹시 다른 방법이 있는지?^^

  virgo75
  2018-07-16(10:12)
캐릭 이미지
혹시 DB검색에서 오류가 난다는 이야기면 DB 테이블 필드 정의를 살펴봐야 할수도 있을
듯 하고 한쪽은 euc-kr 인데 한쪽은 utf-8인지도 봐야 할듯 하고, 아니면 페이지 저장에 문
제가 있을수도 있고, 결과값이 개지는게 화면 인코딩 차이때문에 깨지는걸로 보일수도 있
고 너무 볼께 많네요

  taejung77
  2018-07-16(10:50)
모든 부분은 Response.Charset = "euc-kr"로 셋팅 했습니다.
그리고 DB쪽 보다는 <input type="text" id="ed_pona" name="e1_pona">의
value 값으로 한글 입력 시 Request("e1_pona")쪽에서 한글깨짐 현상이 발생
(?쒖엫??ed_Submit=寃??됲븯湲?) DB에 가기도 전에 한글깨짐 발생


  virgo75
  2018-07-17(09:39)
캐릭 이미지
일단 인클루드 페이지부터 하나하나씩 확인해야 할듯 싶네요 지금 보내는 페이지와 받는
페이지가 동일구조 같기는 한데 한번 현재 이 부분과 관련된 모든 페이지에 서버사이드 charset
charset하고 클라리언트 사이드 charset을 모두 확인해보시는게 빠른 확인방법일듯 합니
다. 중간에 꼬인소스가 있는 케이스는 이것만 가지고 찾기 힘들고 소스 하나씩을 전수 검사
하는 방법뿐이 없을 껍니다.

  virgo75
  2018-07-17(09:44)
캐릭 이미지
아 그리고 혹시 능력되시면 직접 submit 말고 자바스크립트나 jqury를 이용해서 서브밋
해서 보내보세요. 잘 쓰지는 않지만 form 자체에서도 charset을 지정할수도 잇기도 하고,
이런케이스에서는 차라리 클라이언트 사이드에서 아예 처리해서 보내는게 해결되는 경우
가 있습니다

  taejung77
  2018-07-21(15:02)
정말 사이트란 사이트 다 찾아서 겨우 답을 찾았습니다.
상단에 아래와 같이 코딩하고
<%
Session.CodePage = 65001 '한글
Response.CharSet = "euc-kr" '한글
Response.AddHeader "Pragma","no-cache"
Response.AddHeader "cache-control", "no-staff"
Response.Expires = -1
%>

그 다음에
<%
wk_pona = request("e1_pona")
Session.CodePage = 949 '한글
Response.CharSet = "euc-kr" '한글
Response.AddHeader "Pragma","no-cache"
Response.AddHeader "cache-control", "no-staff"
Response.Expires = -1
%

  virgo75
  2018-07-23(09:32)
캐릭 이미지
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 역시 전수검사가 답이였군요 저도 가끔 저런케이스가 있어서 아
예 상단 캐릭터셋 부분과 클라이언트 캐릭터세트 부분을 공통파일로 처리 하는 버릇을 드
렸습니다.



제목 작성자 날짜 조회
검색문의 (7) taejung77 2018-07-15 1727

 
 
.NET과 Java 동영상 기반의 교육사이트

로딩 중입니다...

서버 프레임워크 지원 : NeoDEEX
based on ASP.NET 3.5
Creative Commons License
{5}
{2} 읽음   :{3} ({4})