http://php.net/mb_detect_encoding 페이지의 누군가의 댓글에서 발견한 함수.
댓글 말마따나 가볍고 괜찮은 방법이다.
function detectEncoding($str, $encodingSet)
{
foreach ($encodingSet as $v) {
$tmp = iconv($v, $v, $str);
if (md5($tmp) == md5($str)) return $v;
}
return false;
}
{
foreach ($encodingSet as $v) {
$tmp = iconv($v, $v, $str);
if (md5($tmp) == md5($str)) return $v;
}
return false;
}
DokuWiki의 한글 인덱스 만드는 용도로 사용했다.
DokuWiki는 전부 UTF-8 로 조지는데 한글 파일이나 폴더가 저장될 때 EUC-KR로 저장되어서 제대로 사용할 수가 없다.
그래서 doku.php 의 최상단에 아래의 부분을 추가했다.
일단 잘 돌아간다...
// 인코딩을 알아내는 함수
// _________________________________________________________________
function detectEncoding($str, $encodingSet)
{
foreach ($encodingSet as $v) {
$tmp = iconv($v, $v, $str);
if (md5($tmp) == md5($str)) return $v;
}
return false;
}
// 인코딩을 체크해서 EUC-KR일 경우 UTF-8로 변환
// _________________________________________________________________
function changeCharset(&$item, $key)
{
if (is_string($item)==true) {
$encoding = array('UTF-8');
if (detectEncoding($item, $encoding)!='UTF-8') $item = iconv('EUC-KR', 'UTF-8', $item);
}
}
// dokuwiki 에서 한글을 제대로 지원하기 위해서 (백충덕, 2009-06-18)
array_walk_recursive($_GET, "changeCharset");
array_walk_recursive($_POST, "changeCharset");
// _________________________________________________________________
function detectEncoding($str, $encodingSet)
{
foreach ($encodingSet as $v) {
$tmp = iconv($v, $v, $str);
if (md5($tmp) == md5($str)) return $v;
}
return false;
}
// 인코딩을 체크해서 EUC-KR일 경우 UTF-8로 변환
// _________________________________________________________________
function changeCharset(&$item, $key)
{
if (is_string($item)==true) {
$encoding = array('UTF-8');
if (detectEncoding($item, $encoding)!='UTF-8') $item = iconv('EUC-KR', 'UTF-8', $item);
}
}
// dokuwiki 에서 한글을 제대로 지원하기 위해서 (백충덕, 2009-06-18)
array_walk_recursive($_GET, "changeCharset");
array_walk_recursive($_POST, "changeCharset");
'PHP' 카테고리의 다른 글
[PHP] 시간을 초로 환산, 초를 시간으로 환산 (4) | 2009.07.22 |
---|---|
[PHP] Comet with PHP+iframe (0) | 2009.07.05 |
PHP로 HTTP 요청하기 (0) | 2009.06.05 |
PHP 스크립트를 데몬으로 실행하기 (0) | 2009.06.04 |
[PHP] ImageMagick (0) | 2009.05.29 |