일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- Stock ipo
- 6월 공모주 청약 일정
- SQL
- 주식
- 맥
- 리눅스
- JavaScript
- 자바스크립트
- Eclipse
- 공모주 청약 일정
- php
- 7월 공모주 청약 일정
- 오라클
- 공모주
- linux
- 주식 청약
- html
- css
- MYSQL
- Stock
- 제이쿼리
- java
- codeigniter
- 자바
- 코드이그나이터
- 주식 청약 일정
- jquery
- IPO
- Oracle
- 공모주 청약
- Today
- Total
개발자의 끄적끄적
[php] unicode (UTF-8) 인코딩에서 한글 글자수 출력 및 iconv_substr [펌] 본문
[php] unicode (UTF-8) 인코딩에서 한글 글자수 출력 및 iconv_substr [펌]
php 소스 파일이 "유니코드(UTF-8)" 인코딩으로 되어 있을 경우, 한글 문자열의 정확한 글자 수를 구하는 방법
"유니코드(UTF-8)" 인코딩에서, 한글 1글자는 3바이트입니다. 다만, 영문이나 공백문자나 기호 등은 여전히 1바이트입니다.
따라서 그냥 strlen() 함수로, 한글 글자 수를 구하면, 글자 수가 아니라, 바이트 수만 나옵니다.
이때는
mb_strlen("한글문자열", "UTF-8")
이런 함수를 사용하면, 정확한 글자 수를 구할 수 있습니다. 그런데 이 함수는 2바이트 문자열을 다루는 외부 모듈을 로딩해 주어야 사용할 수 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?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; // 가운데만 *표 ?> |
'개발 > php' 카테고리의 다른 글
[PHP] addslashes(), stripslashes() 그리고, get_magic_quotes_gpc() [펌] (0) | 2020.03.07 |
---|---|
[php] 전화번호 국내 지역화 코드 [펌] (0) | 2020.03.06 |
[php] serialize() 직렬화(일렬화) , unserialize() 직렬화된 데이타를 일반배열로 변환 [펌] (0) | 2020.03.03 |
[php] PHP / 함수 / isset() - 설정된 변수인지 확인하는 함수 [펌] (0) | 2020.02.25 |
[php] codeigniter zip library 활용 예제 (0) | 2020.02.16 |