티스토리 뷰
DB 저장 시 데이터 길이 체크는 필수이다.
자바스크립트에서 Validation 시 사용되는 바이트 체크 함수는 아래와 같다.
var str = 'Hello월드';
function getByteB(str) {
var byte = 0;
for (var i=0; i<str.length; ++i) {
// 기본 한글 2바이트 처리
(str.charCodeAt(i) > 127) ? byte += 2 : byte++ ;
}
return byte;
}
위의 결과는 9 byte 이다.
하지만 주의해야 할 점이 한가지 있다.
보통 한글 2바이트 그 외 영문, 숫자 1바이트라고 하지만
오라클 utf-8 타입의 설정일 경우 한글은 3바이트로 인식하게 된다.
그렇기 때문에 utf-8 타입의 VARCHAR2 필드에 입력을 위한 체크 시
(str.charCodeAt(i) > 127) ? byte += 2 : byte++ ;
부분을
(str.charCodeAt(i) > 127) ? byte += 3 : byte++ ;
이렇게 3 byte 씩 추가 되도록 변경할 필요가 있다.
그렇게 되면 위의 결과는 11 byte 가 된다.
이를 유념하자.
'프로그래밍' 카테고리의 다른 글
[JAVASCRIPT] Selector 시 특수문자 (0) | 2016.12.24 |
---|---|
[JAVA] iBatis 에서 오라클 프로시저 호출하기 (0) | 2016.12.24 |
[DB] ORACLE INDEX (0) | 2016.12.24 |
[Spring] 스프링 스케줄러 (Spring QuartzJobScheduler) (0) | 2016.12.24 |
[ETC] DATA URL Scheme (0) | 2016.12.24 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 성스러운 계곡
- 우유니
- 아구아스 칼리엔테스
- 햄버거
- 쿠스코
- 성계 투어
- 남미 저가항공
- 칠레
- 킹덤 호텔
- 빈트후크
- aguas calientes
- Oracle
- 빅토리아폴스
- 애드센스
- 족발
- 칼라마
- Namibia
- Cusco
- 볼리비아
- 나미비아
- 토레스 델 파이네
- 마추피추
- 남미
- jQuery
- 캄보디아
- calama
- 후마리
- Uyuni
- 푸에르토 나탈레스
- Cambodia
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함