꽁치
1k
2012-11-21 13:45:04
10
41057

varchar(50)이면 한글 25글자 아닌가요?


50byte고 한글 1글자당 2byte씩..
지금 텍스트아레아에서 입력받아 db에 넣어보니
25글자가 넘어도 들어가지네요;;
정확히 42자 까지 들어가지고 43자부터 에러;;;
이게 맞는 건가요?
0
0
  • 답변 10

  • 커비
    2k
    2012-11-21 13:57:52
    varchar2? 맞나요?

    아님 varchar 인가요??

    보통 varchar2 사용하는데
    0
  • 꽁치
    1k
    2012-11-21 13:59:10
    mysql을 사용하는데 varchar2는 없는거 같더라구요;;
    text쓸 수도 있지만 낭비인거 같아 varchar(50)으로 쓰고 있거든요;;
    0
  • sizers
    2012-11-21 14:05:15
    네.. 한글만 입력할 경우 25자까지만 입력될겁니다..
    0
  • 꽁치
    1k
    2012-11-21 14:11:07
    헉 근데 저는 왜 40자가 넘게 들어가죠?ㅠㅠ
    0
  • NG
    2k
    2012-11-21 14:18:09
    mysql 버전 4.1인가부터 varchar(50) <- 50byte가 아니고 50character로 바뀌었을 겁니다.
    그렇다고해도 40글자 초반까지만 입력되는 건 이해가 안되네요.
    0
  • 꽁치
    1k
    2012-11-21 14:38:50
    http://cfile7.uf.tistory.com/image/0151703A50AC672914B1D9
    이상하네유 ㅠ
    0
  • NG
    2k
    2012-11-21 14:53:09
    mysql의 문자열 길이 함수로 쿼리상에서 문자 길이 체크해보세요.
    0
  • 에시칼로
    2k
    2012-11-21 18:12:27
    NG님 말씀이 정확하겠네요.

    자기가 쓰는 DB의 캐릭터셋을 알 수 있으니.

    한글 1음절이 3바이트인 곳도 있어요.
    0
  • 꽁치
    1k
    2012-11-21 18:28:33
    캐릭터셋은 utf-8로 되어있는데 utf-8의 인코딩 능력이 갑인건가요 ㄷㄷㄷ
    0
  • 노올자
    489
    2012-11-22 10:57:44
    꽁치 // UTF-8 이면 한글 한자당 3Bytes 로 인식 될 것입니다. varchar(50) 에서 50이 전통적인 Bytes 로 되어 있는 것인지 아니면, Character 로 되어 있는것인지는 확인이 필요하겠지만, 40글자 초반까지만 입력되는건 다른 문제일것 같습니다.
    1
  • 로그인을 하시면 답변을 등록할 수 있습니다.