메뉴 건너뛰기

조회 수 2038 추천 수 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 05Mar
    by
    2019/03/05 Views 2086 

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

  2. No Image 05Mar
    by
    2019/03/05 Views 1219 

    mariaDB 백업 쉘 스크립트

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

    한글정렬 order by

  4. No Image 11Jan
    by
    2019/01/11 Views 3161 

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

  5. No Image 11Jan
    by
    2019/01/11 Views 1948 

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

  6. No Image 08Jan
    by
    2019/01/08 Views 4389 

    MySQL ORDER BY 조건별 필드 및 ASC DESC

  7. Mysql Join 해부(Left, Right, Outer, Inner Join

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

    MySQL Table 복구 - Got error 127 from storage engine

  9. No Image 24Jul
    by
    2018/07/24 Views 3863 

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

  10. No Image 18Jul
    by
    2018/07/18 Views 1603 

    MySQL replication SQL 문 실행 오류 해결 방법

  11. No Image 18Jul
    by
    2018/07/18 Views 1932 

    MySQL 마스터/마스터 replication 에서 AUTO_INCREMENT 문제 해결 방법

  12. No Image 18Jul
    by
    2018/07/18 Views 2790 

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

  13. No Image 18Jul
    by
    2018/07/18 Views 1672 

    mysql-bin 로그를 SQL 문으로 변환한는 방법

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

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

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

    MyISAM 스토리지 엔진에서 테이블의 최대 저장 row 개수

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

    InnoDB 스토리지 엔진에서 테이블의 최대 저장 row 개수

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

  18. MySQL 에서 테이블에 이미 존재하는 값으로 UPDATE 하는 경우

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

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

  20. No Image 28Dec
    by
    2017/12/28 Views 3916 

    MySQL 연결 속도

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

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved