메뉴 건너뛰기

조회 수 2039 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

MS 윈도우에 MySQL 을 기본 설치한 후, MySQL DB 에 한글 utf8 문자열 INSERT 할 때에 오류가 발생하는 문제를 해결 방법은 다음과 같습니다.


* 테이클의 default charset 을 utf8 로 설정한다.

 - 테이블의 default charset 을 utf8 로 설정하여서 생성하는 SQL 문 예제는 다음과 같다.


CREATE TABLE  noticeboard (
  `nbId` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `nbSubject` varchar(255) NOT NULL,
  `nbContent` text NOT NULL,
  `nbReadCount` int(10) unsigned NOT NULL DEFAULT '0',
  `nbInsertDate` datetime NOT NULL,
  PRIMARY KEY (`nbId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


* MySQL DB 연결시 character-set 을 "utf8" 로 설정한다.

 - MySQL Client API 에서는 MySQL DB 연결된 후, character-set 을 "utf8" 로 수정한다.

 - MySQL JDBC 에서는 MySQL url 에 아래와 같이 utf8 을 설정한다.

   jdbc:mysql://127.0.0.1:3306/spring?useUnicode=yes&characterEncoding=UTF-8


위와 같이 설정하시면 MySQL 서버의 my.ini 파일을 수정하지 않으셔도 정상적으로 utf8 문자열이 저장되는 것 같습니다. 아래의 그림은 위와 같이 설정한 상태에서 MySQL C API 및 MySQL JDBC 로 utf8 한글을 입력한 결과입니다.




위와 같이 설정하여도 MySQL DB 에 utf8 문자열 INSERT 오류가 발생한다면 테이블 컬럼의 charset 을 확인해 보세요. 즉, 아래와 같이 nbSubject 컬럼에 "CHARACTER SET latin1" 으로 설정되어 있다면 nbSubject 컬럼에 utf8 문자열을 입력시 오류가 발생하게 됩니다. 이 경우에는 컬럼에 설정된 "CHARACTER SET latin1" 항목을 모두 제거하면 정상적으로 utf8 문자열이 INSERT 됩니다.


CREATE TABLE  noticeboard (
  `nbId` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `nbSubject` varchar(255) CHARACTER SET latin1 NOT NULL,
  `nbContent` text CHARACTER SET latin1 NOT NULL,
  `nbReadCount` int(10) unsigned NOT NULL DEFAULT '0',
  `nbInsertDate` datetime NOT NULL,
  PRIMARY KEY (`nbId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;



  1. No Image 24Jul
    by
    2018/07/24 Views 4367 

    MySQL Table 복구 - Got error 127 from storage engine

  2. No Image 28Dec
    by
    2017/12/28 Views 4262 

    데이터베이스 파티셔닝이란

  3. MySQL 파티션 개요

  4. mysql(exists, not exists)

  5. No Image 22Dec
    by
    2017/12/22 Views 3976 

    날짜 관련 함수 모음.

  6. 전체 텍스트 검색과 파티션

  7. No Image 21Nov
    by
    2017/11/21 Views 3920 

    Union 사용법. 여러 테이블의 같은 값을 한번 쿼리로 추출하기

  8. No Image 28Dec
    by
    2017/12/28 Views 3917 

    MySQL 연결 속도

  9. 전체 텍스트 검색과 파티션

  10. 일반적인 오류를 해결하는 유용한 정보들

  11. No Image 24Jul
    by
    2018/07/24 Views 3864 

    MySQL〃오라클의 nextval을 MySQL에서 사용하기

  12. mysql(union,join)

  13. 서브쿼리

  14. No Image 11Jan
    by
    2019/01/11 Views 3163 

    중복데이터 하나만 빼고 삭제

  15. No Image 18Jul
    by
    2018/07/18 Views 2824 

    특정 테이블만 replication 하거나 제외하는 방법

  16. No Image 18Jul
    by
    2018/07/18 Views 2750 

    MySQL 클라이언트/서버 프로토콜

  17. No Image 19Feb
    by
    2019/02/19 Views 2424 

    한글정렬 order by

  18. No Image 05Mar
    by
    2019/03/05 Views 2097 

    [MySQL] 세로열을 가로열로 출력하기

  19. MySQL DB 에 한글 utf8 문자열 INSERT 오류 해결 방법

  20. No Image 11Jan
    by
    2019/01/11 Views 1949 

    MySQL 중복 데이터 찾아서 삭제하기

Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved