$sEncoding = mb_detect_encoding($sTitle, "UTF-8,euc-kr");
if ( $sEncoding == "UTF-8" )
{
$sTitle = mb_convert_encoding($sTitle, "EUC-KR", "UTF-8");
}
$sTitle에 어떤 문자가 들어왔을 때
인코딩 방식이 UTF-8이면, EUC-KR로 변경해줍니다.
----------------------------------------------------------------------------------
mb* 함수들을 사용할 수 없는 환경이라면
http://dev.tattertools.com/browser/trunk/components/Eolin.PHP.Core.php?format=txt
여기의 UTF8::validate 함수 참고하셔도 됩니다.. utf8인지 그 외의 인코딩인지만 판단 가능하고
mb* 함수들도 마찬가지지만 한글자정도로 매우 짧은 한글은 오판하는 경우도 종종 있지요..
----------------------------------------------------------------------------------
function is_utf8($string) {
return preg_match('%^(?:
[\x09\x0A\x0D\x20-\x7E] # ASCII
| [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
| \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
| [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
| \xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
| \xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3
| [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
| \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
)*$%xs', $string);
}
if ( $sEncoding == "UTF-8" )
{
$sTitle = mb_convert_encoding($sTitle, "EUC-KR", "UTF-8");
}
$sTitle에 어떤 문자가 들어왔을 때
인코딩 방식이 UTF-8이면, EUC-KR로 변경해줍니다.
----------------------------------------------------------------------------------
mb* 함수들을 사용할 수 없는 환경이라면
http://dev.tattertools.com/browser/trunk/components/Eolin.PHP.Core.php?format=txt
여기의 UTF8::validate 함수 참고하셔도 됩니다.. utf8인지 그 외의 인코딩인지만 판단 가능하고
mb* 함수들도 마찬가지지만 한글자정도로 매우 짧은 한글은 오판하는 경우도 종종 있지요..
----------------------------------------------------------------------------------
function is_utf8($string) {
return preg_match('%^(?:
[\x09\x0A\x0D\x20-\x7E] # ASCII
| [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
| \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
| [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
| \xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
| \xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3
| [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
| \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
)*$%xs', $string);
}
반응형
'인터넷정보' 카테고리의 다른 글
자바스크립트 - 드래그로 선택하는 박스 (0) | 2008.05.30 |
---|---|
네이버 실시간 급상승 검색어 산출방법 (0) | 2008.05.23 |
네이버 실시간 급상승 검색어 산출방법 (0) | 2008.05.23 |
75달러 노트북 나온다… OLPC 'XO 2.0' 개발 중 (0) | 2008.05.21 |
75달러 노트북 나온다… OLPC 'XO 2.0' 개발 중 (0) | 2008.05.21 |
php 에서 utf-8 인지 euc-kr 인지.. 알수 있는 방법 (0) | 2008.04.11 |
UTF-8 헤더(header) 오류 (0) | 2008.04.10 |
UTF-8 헤더(header) 오류 (0) | 2008.04.10 |
리눅스용 프로그램들 (0) | 2008.03.28 |
리눅스용 프로그램들 (0) | 2008.03.28 |