java 에 대해서 한수 배우고자 합니당 ㅎ;;

· 14년 전 · 1242 · 13
jsp -> 에서 mysql 쪽으로는 일반 글들은 아주 잘 인서트 됩니다 -_-;
 
문제점 : 한글 문자중에 ' 글자나 " 가 있는 경우.... 처리 방법이 없나요 ?
 
php 에선 addslashes 면 일단 급한불은 꺼지는데.... 참 난감하네요...
 
java 에선 preparedStatement 이 함수 사용 하라고 하는데 써보아도 깨져 나옴 ;;
 
음 치환해서 처리하면 어거지로는 되겠지만 그래도 뭔가 다른 방법이 있을듯 한데...
 
아시는 분께서는 한수 가르침을 ^^;; 부탁 드립니다.
 
|

댓글 13개

자바스크립트에서 깨진다는건가요? 상황이 이해가 잘 안되네요.
하 명령폐인님께서 바로 답변 주실줄은 ^^ 미리 감사합니다.

아닙니다.. write.jsp 에서 그냥 textarea 필드에서 쓴 내용을 -> write_update.jsp 페이지에서 저장하는 부분 입니다.

mysql DB insert 시에 깨집니다...

기존 자료야 import 해서 전 과정은 잘 모르겠고... 신자료를 웹상에서(jsp) 로 insert 해보는 중인데 ...

데이타 예 ) 주소지 입니다. -> 정상 입력 ;;

주소지 ' 입니다 -> ????? '?????

뭐 이런 형태가 되어 버립니다.

살살 머리가 아파오기 시작합니다. ㅠ.ㅠ
StringBuffer sql = new StringBuffer();

sql.append(" insert into 테이블명( WR_CONTENT ) values (?)" );

xxx.setString(1, wr_content );

오라클에선 이런식으로 했었습니다만
참고가 되실런지요
한가지 더 String wr_content = 받아오시는 방식의 따라 (파라메타); 하시고요
감사합니다

위의 방법으로 사용해 보고 결과를 보고 하겠습니다. ^^;
<%!
// 8859_1을 KSC5601로 변환
public String toKorean(String str) {
String convStr = null;
try {
if(str == null)
return "";

// 현재문자열을 8859_1형식으로 읽어내어 KSC5601형식으로 변환
convStr = new String(str.getBytes("8859_1"),"KSC5601");
} catch (UnsupportedEncodingException e) {
}
return convStr;
}
%>

자바로 푸셔야 할듯
preparestmt 를 쓰세염
흠..해괴한 경우군요. 깨질려면 다 깨져야지...
일단 mysql 용 jdbc 드라이버를 최신 버전으로 맞춰주시구요..
mysql의 db charset 과, connection charset 이 어떻게 되는지요?
상황에 따라서 mysql 환경설정을 바꿔야 할것 같기도 합니다.

자바에서 mysql 연결시 한글이 깨지는 문제는 JDBC 드라이버에 옵션을 줘서 처리합니다.
chat.url=jdbc:mysql://localhost/chat?useUnicode=true&characterEncoding=euckr
chatsetEncoding 은 해당 db의 캐릭터셋과 맞추시면 됩니다.
1) euc-kr : characterEncoding=euckr
2) utf-8 : characterEncoding=utf8
3) 그외 : characterEncoding=latin1
자바때문에 고생많으십니다.^^
인코딩 문제 같습니다
일단 jsp 페이지 자체 저장 인코딩을 확인 하시구요
다른 부분은 깨지지 않는데 textarea만 깨지면 <pre></pre>
함수를 사용하시거나

위에 담장이님이 말씀해주신 대로 한글 컨버트를 하셔야 할 듯 한데요

컨버트 함수 문제가 아니면 페이지 인코딩 확인해 보세요
와웅 많은 분들께서 답변을 달아 주셔서 무지 감사 감사합니다 ^^

일단 주말에 몇번의 삽질을 겸해 보고....

결론은 무식 + 인코딩 문제가 제일 맞더라구용 ㅠ.ㅠ

1. 유찬 아빠 님의 방법을 써서 상당히 많은 부분에 도움이 되었습니다.
정말 늦었지만 이 자리를 빌어서 감사 드립니다 ^^;

2. 명랑 폐인님의 말씀처럼 모든 캐릭셋을 JSP 쪽 mysql 쪽 전부 EUC-KR 로 바꾸었습니다.
반쪽만 깨져서 의문을 참 많이 가졌는데 ㅠ.ㅠ
정말 원인은 별거 아닌 JSP 페이지의 함수 한개더군요 ㅠ.ㅠ

3. 알찬 똘삐님 ㅠ.ㅠ preparestmt 이건 뭔지 아직 잘 몰겠더군요 ;;
좀더 공부해 보고 적용을 해보도록 하겠습니다. ㅠ.ㅠ (무식이... ㅠ.ㅠ)

4. 날라리 개발자님 의 의견에 맞추어 ....
몇번 시도해 보았으나 전부 한글이 깨지는 안타까운 사태가 발생하여....

String sCont = request.getParameter("emo_cont");
String kCont = new String(sCont.getByte("8859_1"),"EUC-KR");

이렇게 맞추고 내용을 찍었더니 ... kCont 쪽에서 한글이 깨지는 사태가 발생하더라구용...

그래서 그냥 ... 밀어 넣었는데 문제 안 발생할지 의문중인... (현재는 잘 되고 있는듯...)

컨버터 함수는 일부러 제외하였습니다. (뭐....잘 되니까 ;; ㅠ.ㅠ)

<% request.setCharacterEncoding("euc-kr"); %> 이거만 대충 서서 .... 해보았습니다만...
일단은 어거지로 먹히고 있습니다 ^^;; (또 어디선가 문제가 생기겠지만 그때는 좀더 나은 해결책을 찾아낼걸라 생각합니다 ^^;;

현재 공부하는 부분중에서...
초보인 제가 참조하는 부분들입니다.. (책은 어디로 도망을 갔는지...)
http://www.superuser.co.kr/jsp/index.htm
허허.. 정말 이해가 안가는 부분중에 하나입니다.

인코딩... 자바는 초기부터 인코딩에서 많은 분들이 애를 먹었습니다.
한국사람 누구(?) 만든 ijava라는 클래스가 있긴 했지만
언어셋이라는 낮선 단어가 사람들을 많이 힘들게 했었지요.
(mysql이 언어셋을 지원안하던터라 그때 당시)

10년이 넘게 지난 지금도 참 골치아프군요.
한가지 더 첨언 드리자면 jsp는 향후를 고려하셔서 utf-8로 하심이 그나마 좋다고 생각하는 1인 입니다.
건강이 우선입니다.
그리고 저도 중년입니다.^^
댓글을 작성하시려면 로그인이 필요합니다. 로그인

프로그램

+
제목 글쓴이 날짜 조회
14년 전 조회 767
14년 전 조회 1,698
14년 전 조회 902
14년 전 조회 850
14년 전 조회 1,136
14년 전 조회 744
14년 전 조회 897
14년 전 조회 843
14년 전 조회 1,132
14년 전 조회 668
14년 전 조회 669
14년 전 조회 604
14년 전 조회 721
14년 전 조회 917
14년 전 조회 1,669
14년 전 조회 952
14년 전 조회 903
14년 전 조회 1,629
14년 전 조회 872
14년 전 조회 722
14년 전 조회 735
14년 전 조회 828
14년 전 조회 1,013
14년 전 조회 934
14년 전 조회 985
14년 전 조회 1,097
14년 전 조회 964
14년 전 조회 2,232
14년 전 조회 1,859
14년 전 조회 2,533
14년 전 조회 501
14년 전 조회 801
14년 전 조회 1,062
14년 전 조회 663
14년 전 조회 642
14년 전 조회 1,433
14년 전 조회 1,244
14년 전 조회 2,341
14년 전 조회 1,244
14년 전 조회 841
14년 전 조회 3,357
14년 전 조회 1,583
14년 전 조회 997
14년 전 조회 1,358
14년 전 조회 718
14년 전 조회 1,838
14년 전 조회 769
14년 전 조회 1,203
14년 전 조회 711
14년 전 조회 1,243
14년 전 조회 1,479
14년 전 조회 989
14년 전 조회 775
14년 전 조회 993
14년 전 조회 925
14년 전 조회 1,944
14년 전 조회 1,114
14년 전 조회 817
14년 전 조회 714
14년 전 조회 1,324
14년 전 조회 2,612
14년 전 조회 706
14년 전 조회 2,536
14년 전 조회 1,652
14년 전 조회 884
14년 전 조회 1,098
14년 전 조회 993
14년 전 조회 987
14년 전 조회 503
14년 전 조회 710
14년 전 조회 813
14년 전 조회 1,177
14년 전 조회 871
14년 전 조회 1,231
14년 전 조회 1,014
14년 전 조회 1,114
14년 전 조회 717
14년 전 조회 1,025
14년 전 조회 922
14년 전 조회 798
14년 전 조회 690
14년 전 조회 1,174
14년 전 조회 1,585
14년 전 조회 938
14년 전 조회 777
14년 전 조회 3,309
14년 전 조회 836
14년 전 조회 718
14년 전 조회 2,110
14년 전 조회 1,505
14년 전 조회 2,025
14년 전 조회 593
14년 전 조회 846
14년 전 조회 701
14년 전 조회 540
14년 전 조회 624
14년 전 조회 751
14년 전 조회 1,498
14년 전 조회 857
14년 전 조회 906
🐛 버그신고