메뉴 건너뛰기

조회 수 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 05Mar
    by
    2019/03/05 Views 1219 

    mariaDB 백업 쉘 스크립트

  2. No Image 18Jul
    by
    2018/07/18 Views 1559 

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

  3. MYSQL any&all&in&예제& WHERE 절 문제4

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

  5. MYSQL FULLTEXT INDEX & PARTION 검색기능향상&파티션

  6. MYSQL Groupby & having 예제 문제 6

  7. MYSQL IN&BETWEEN&NULL&예제&FROM절 문제3

  8. No Image 22Dec
    by
    2016/12/22 Views 11523 

    MySQL INSERT 성능 향상

  9. No Image 12Apr
    by
    2017/04/12 Views 5352 

    MySQL JOIN 걸어서 UPDATE 하기

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

  11. Mysql Join 해부(Left, Right, Outer, Inner Join)

  12. MYSQL order by 예제&문제 7

  13. No Image 08Jan
    by
    2019/01/08 Views 4439 

    MySQL ORDER BY 조건별 필드 및 ASC DESC

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

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

  15. No Image 27Feb
    by
    2014/02/27 Views 6782 

    MySQL Replication 설정(Master-Slave, Maste

  16. No Image 12Apr
    by
    2017/04/12 Views 5252 

    MySQL root 패스워드 분실시

  17. MYSQL select 명령문의 조합 &union 예제&문제 8

  18. MySQL Shard 데이터 재분배

  19. No Image 12Jan
    by
    2023/01/12 Views 86 

    mysql table 값 변경 mariadb 테이블 값 변경

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

    MySQL Table 복구 - Got error 127 from storage engine

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

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved