Search Results for '캐리지리턴'

2 POSTS

  1. 2015.02.12 mysql 캐리지 리턴, 엔터 replace 처리
  2. 2007.12.05 캐리지 리턴(엔터,라인피드)에 대한 처리...

MySQL 에서 쿼리 결과를 Ctrl+C 해서 Excel에 붙여넣기를 하다보면 결과값 중에 엔터값이나 캐리지 리턴 값이 있는 경우 엑셀의 셀을 벗어나 버리는 상황이 발생합니다.

 

이럴때 replace함수를 이용하여 처리하면 한줄로 처리됩니다.

 

SELECT

       REPLACE(REPLACE(MSG_KOR_TXT,'\r\n',' '),'\r',' ') AS MSG_TXT
FROM MSG

 

 

 



이전 JSTL을 사용하기 이전엔 자바의 replace메소드 하나로 모두 해결했었다.

<%=content.replaceAll("<","&lt;").replaceAll("\r\n","<br>") %>

그런데 JSTL을 사용하는 지금은..... 어떻게 해야하나..

<c:out ....... escapeXml="true"/> 로 일단 "<" 처리는 끝났고...
엔터값에 대한 <br/>처리를 해야 하는데...
<fn:replace />를 하면 되겠다 시펐는데 안된다.
이유? 몰겠다...
그래서 결국 찾은것은....

jsp 선언부쪽에다가
<%pageContext.setAttribute("crlf", "\r\n"); %>이거 넣고...

crlf를 <fn:replace 하니까 된다....

${fn:replace(record[4],crlf,"<br/>")}  <==요렇게 말이다.

헉!! 그런데 Ajax를 통해 inset 한 부분에서는 안된다... 왜그럴까?
삽질을 통해서 알게 된 사실은...

캐리지 리턴은 없고 라인피드만 있다는것...
그래서 그부분을 위해서 한줄 더 추가...
<%pageContext.setAttribute("lf", "\n"); %>
그리고 라인피드 없이 캐리지리턴만 나올경우를 대비해서..
<%pageContext.setAttribute("cr", "\r"); %>
요것도 추가했다..

맞는건지 모르겠지만 암튼 그래도 잘 나온다.