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

· 14년 전 · 1266 · 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인 입니다.
건강이 우선입니다.
그리고 저도 중년입니다.^^
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

태그 필터 (최대 3개) 전체 개발자 소스 기타 mysql 팁자료실 javascript php linux flash 정규표현식 jquery node.js mobile 웹서버 os 프로그램 강좌 썸네일 이미지관련 도로명주소 그누보드5 기획자 견적서 계약서 기획서 마케팅 제안서 seo 통계 서식 통계자료 퍼블리셔 html css 반응형 웹접근성 퍼블리싱 표준화 반응형웹 홈페이지기초 부트스트랩 angularjs 포럼 스크린리더 센스리더 개발자톡 개발자팁 퍼블리셔톡 퍼블리셔팁 기획자톡 기획자팁 프로그램강좌 퍼블리싱강좌
+
제목 글쓴이 날짜 조회
14년 전 조회 792
14년 전 조회 1,729
14년 전 조회 929
14년 전 조회 872
14년 전 조회 1,159
14년 전 조회 771
14년 전 조회 915
14년 전 조회 871
14년 전 조회 1,159
14년 전 조회 695
14년 전 조회 693
14년 전 조회 624
14년 전 조회 744
14년 전 조회 946
14년 전 조회 1,693
14년 전 조회 982
14년 전 조회 926
14년 전 조회 1,651
14년 전 조회 898
14년 전 조회 750
14년 전 조회 762
14년 전 조회 852
14년 전 조회 1,037
14년 전 조회 955
14년 전 조회 1,010
14년 전 조회 1,119
14년 전 조회 992
14년 전 조회 2,257
14년 전 조회 1,886
14년 전 조회 2,561
14년 전 조회 525
14년 전 조회 820
14년 전 조회 1,087
14년 전 조회 687
14년 전 조회 668
14년 전 조회 1,459
14년 전 조회 1,268
14년 전 조회 2,350
14년 전 조회 1,267
14년 전 조회 863
14년 전 조회 3,383
14년 전 조회 1,605
14년 전 조회 1,023
14년 전 조회 1,380
14년 전 조회 739
14년 전 조회 1,861
14년 전 조회 792
14년 전 조회 1,224
14년 전 조회 734
14년 전 조회 1,267
14년 전 조회 1,502
14년 전 조회 1,011
14년 전 조회 797
14년 전 조회 1,015
14년 전 조회 953
14년 전 조회 1,969
14년 전 조회 1,135
14년 전 조회 840
14년 전 조회 735
14년 전 조회 1,349
14년 전 조회 2,640
14년 전 조회 730
14년 전 조회 2,558
14년 전 조회 1,675
14년 전 조회 906
14년 전 조회 1,127
14년 전 조회 1,017
14년 전 조회 1,010
14년 전 조회 527
14년 전 조회 739
14년 전 조회 839
14년 전 조회 1,197
14년 전 조회 897
14년 전 조회 1,252
14년 전 조회 1,038
14년 전 조회 1,140
14년 전 조회 741
14년 전 조회 1,050
14년 전 조회 949
14년 전 조회 824
14년 전 조회 715
14년 전 조회 1,198
14년 전 조회 1,610
14년 전 조회 966
14년 전 조회 803
14년 전 조회 3,337
14년 전 조회 862
14년 전 조회 741
14년 전 조회 2,133
14년 전 조회 1,535
14년 전 조회 2,052
14년 전 조회 618
14년 전 조회 870
14년 전 조회 726
14년 전 조회 566
14년 전 조회 650
14년 전 조회 779
14년 전 조회 1,522
14년 전 조회 880
14년 전 조회 930
🐛 버그신고