티스토리 뷰
Overview
업무 중에 대외 금융기관과 Encoding을 맞출 일이 있어서 이렇게 방법을 남긴다.
EUC-KR 은 한글 2byte 이고, UTF-8 은 한글 3byte 인데 문자열 길이가 달라서 아래와 같이 확인했다.
사용법
MySQL 기준 CONVERT 함수를 아래와 같이 사용한다.
SELECT CONVERT('메세지' USING 'CharacterSet');
테스트
set @target = '안녕하세요 123 ABC' ;
SELECT LENGTH(CONVERT(@target USING 'euckr')) AS LENGTH -- euckr
UNION ALL
SELECT LENGTH(CONVERT(@target USING 'utf8mb4')) AS LENGTH; -- utf8
사용해보기
SELECT
u.name
, LENGTH(CONVERT(u.name USING 'euckr')) as 'euc-kr'
, LENGTH(CONVERT(u.name USING 'utf8mb4')) as 'utf-8'
FROM User u;
Reference
그 외 유용하게 쓰고있는 Encoding 별 사이트를 공유합니다.
댓글