홈으로 | 무료회원가입 | 아이디/비번찾기
추천음악방송
Unicode (UTF - 8) 인코딩에서 한글 글자수 출력 및 iconv substr
6년 전
php 소스 파일이 "유니코드(UTF-8)" 인코딩으로 되어 있을 경우, 한글 문자열의 정확한 글자 수를 구하는 방법

"유니코드(UTF-8)" 인코딩에서, 한글 1글자는 3바이트입니다. 다만, 영문이나 공백문자나 기호 등은 여전히 1바이트입니다.

따라서 그냥 strlen() 함수로, 한글 글자 수를 구하면, 글자 수가 아니라, 바이트 수만 나옵니다.

이때는
mb_strlen("한글문자열", "UTF-8")
이런 함수를 사용하면, 정확한 글자 수를 구할 수 있습니다. 그런데 이 함수는 2바이트 문자열을 다루는 외부 모듈을 로딩해 주어야 사용할 수 있습니다.

<?php
  // strlen() 함수는, 유니코드(UTF-8) 인코딩에서
  // 한글은 3바이트, 영문이나 기호는 1바이트로 반환
  print strlen("Cool") . "글자 (영문 바이트 단위)<br />\n";
  // 4글자 (영문 바이트 단위)

  // 한글 1자는 3글자로 간주
  print strlen("우리나라") . "글자 (영문 바이트 단위)<br />\n";
  // 12글자 (영문 바이트 단위)

  // 유니코드(UTF-8) 한글 글자수 정확히 구하기
  print mb_strlen("총모아", "UTF-8") . "글자 (한글 1자를 1자로 인식)<br />\n";
  // 3글자 (한글 1자를 1자로 인식)

// iconv_substr
  $fir_name = iconv_substr('총모아',0,1,'utf-8');
  $last_name = iconv_substr('총모아',2,2,'utf-8');
  $view_name = $fir_name."*".$last_name; // 가운데만 *표
?>
추천추천 : 295 추천 목록
번호 제목
3,030
 제이쿼리 기본 명령어
3,029
 웹페이지 가로 모드세로 모드 인식하기
3,028
 모바일 웹 화면 강제 회전(가로모드 고정)
3,027
 [HTML5]에서 frameset 대체 방법과 iframe 속성
3,026
 HTML <Audio> 사용법
3,025
 윈도우10 시스템파일 손상 (초간단 오류 복구방법!!)
3,024
 PHP 파일 존재 여부 파악하기(로컬 파일 존재 및 원격지 파일 존재)
3,023
 [CSS] 박스 세로 가운데 중앙 정렬 6가지
3,022
 CSS Layout 수평 & 수직 정렬
3,021
 여러 도메인들 간 쿠키 공유하기
3,020
 태그 사이에 있는 텍스트를 추출
3,019
 [JQuery] textbox focus on off일때 숫자 콤마 보여주기
3,018
 쿠키 생성,가져오기,삭제
3,017
 사용자 함수 모음
3,016
 마우스,키보드 제한 ( 오른쪽클릭,드래그,영역선택등..)
3,015
 [HTML5] <video> - DOM으로 제어하기
3,014
 HTML5 video 태그에서 영상 좌우반전
3,013
 PHP - 특정 태그 및 문자열 추출, 제거
3,012
 [PHP] define과 defined의 차이
3,011
 우클릭 완벽차단 스크립트
3,010
 iframe 높이 100% 맞추기
3,009
 curl 함수를 이용한 HTTP REFERER 변경
3,008
 윈도우10 시스템 파일 및 Dism 검사
3,007
 텍스트 줄바꿈, 글자자르기 CSS
3,006
 jQuery Mobile에서 유용한 코드 10가지.
목록
뮤직트로트 부산광역시 부산진구 가야동 ㅣ 개인정보취급방침
Copyright (C) musictrot All rights reserved.