UTF-8 은 한글은 3Byte 차지하는거 맞죠?

mySQL DB를 utf-8 로 설정할 경우 한글은 1자에 3byte를 차지하는 것으로 알고 있는데요..

제가 알기로는 euc-kr은 (영문1, 한글2byte) utf-8은(영문1, 한글3byte) utf-16은 (영문2, 한글2byte)로 알고 있는데....

그럼 테이블 설계시 한글3자가 들어가는 필드는 char(9) 로 잡아 주어야 하나요? (3*3=9)

char(6)으로 선언하고 '홍길동'을 입력하면 [홍길] 까지만 저장되나요?

한글은 한글자에 2byte 라는 것에 워낙 익숙해져 있어서 정말로 그런지 확인하고 싶어서요...

직접 char()로 선언하고 입력하고 확인해 보신분 계세요?


|

댓글 5개

전 잘 모르는...
저도 그런거 알았으면 좋겠다는...
맞춰서 크기 바꿔야죠. 그런데 mysql은 바이트가 모자라면, 모자란만큼 바이트 단위로 잘라서 넣습니다. 그래서 글자가 깨져버리죠.
mysql 5.x 대부터인가?
varchar(9) 는 9byte 가 아니라 9character 로 변경되었습니다.
정보 감사합니다.

그렇다면 문제가 좀 있네요. 전버전에서 옮겨오면요

한글은 3바이트라서 char(3) 으로 하셔야 합니다.
댓글을 작성하시려면 로그인이 필요합니다.

자유게시판

+
제목 글쓴이 날짜 조회
15년 전 조회 1,224
15년 전 조회 2,240
15년 전 조회 1,510
15년 전 조회 1,347
15년 전 조회 1,295
15년 전 조회 2,144
15년 전 조회 1,855
15년 전 조회 1,591
15년 전 조회 2,071
15년 전 조회 1,711
15년 전 조회 1,894
15년 전 조회 1,765
15년 전 조회 2,087
15년 전 조회 2,400
15년 전 조회 4.4만
15년 전 조회 1,880
15년 전 조회 1,895
15년 전 조회 2,314
15년 전 조회 1,728
15년 전 조회 1,475
15년 전 조회 1,966
15년 전 조회 1,863
15년 전 조회 1,890
15년 전 조회 1,879
15년 전 조회 1,994
15년 전 조회 3,308
15년 전 조회 1,785
15년 전 조회 1,531
15년 전 조회 1,489
15년 전 조회 7,637