[PHP] 마스킹 처리된 문자열 얻기

주어진 utf-8 유니코드 문자열을 마스킹 처리하는 함수이다. <?php function get_masking_string($str, $len1, $len2=0, $limit=0, $mark=’*’) { $arr_str = preg_split(“//u”, $str, -1, PREG_SPLIT_NO_EMPTY); $str_len = count($arr_str); $len1 = abs($len1); $len2 = abs($len2); if($str_len <= ($len1 + $len2)) return $str; $str_head = ”; $str_body = ”; $str_tail = ”; $str_head = join(”, array_slice($arr_str, 0, $len1)); if($len2 > 0) […]

Read More

도로명 주소 데이터 입력을 위한 코드

텍스트 파일로 제공되는 도로명 주소 데이터를 DB에 넣기 위한 코드이다. DB 구조는 적절히 구성해야 하고 이 파일은 텍스트 파일에서 테이터를 읽어 utf-8 형태로 DB에 자료를 입력한다. <?php include_once(‘./_common.php’); set_time_limit ( 0 ); ini_set(‘memory_limit’, ‘500M’); $files = glob(‘./*.txt’); if(!function_exists(‘iconv_utf8’)) { function iconv_utf8($str) { return iconv(‘euc-kr’, ‘utf-8’, $str); } } function convert_content($str) { return addslashes(trim($str)); } foreach($files […]

Read More

[PHP] preg_replace로 특수문자 제거 후 한글 깨질 때 해결법

개발 중인 게시판에서 검색 시 검색어의 한글이 깨진다는 보고가 있어 살펴보니 검색어에서 특수문자를 제거하는 코드에서 원인을 찾을 수가 있었다. $stx = preg_replace(‘/[[:punct:]]/’, ”, $stx); 오류를 보고하신 분의 PHP 버전이 5.3.21이었는데 이 버전에서만 문제가 되는 것인지는 확실치가 않다. 위 코드를 적용했을 때 한글이 깨진다면 아래처럼 코드를 수정하면 된다. $stx = preg_replace(‘/[[:punct:]]/u’, ”, $stx); 코드를 보면 preg_replace […]

Read More

폼 데이터를 utf-8에서 euc-kr로 넘길 때 한글 깨짐 해결

보통은 하나의 인코딩을 사용하지만 필요에 따라 외부 모듈을 사용하거나 할 때 인코딩이 달라 한글이 깨지는 경우가 의외로 많다. 대표적인 경우가 PG 결제 모듈 연동 작업이다. 이번에 스마트폰 결제 모듈을 작업하는데 상품명과 주문자의 이름이 깨져서 엄청 고민했다. 그리고 스마트폰 결제 모듈은 왜 이렇게 복잡한건지.. 혀~ utf-8 환경에서 euc-kr 환경으로 폼 데이터를 전송할 경우 폼 데이터를 euc-kr로 변환해서 전송해야 하는데 form […]

Read More

KCP 결제 모듈에서 자동 취소시 취소사유 한글깨짐 문제

쇼핑몰 솔루션의 결제모듈 부분을 작업하고 있는데.. kcp에서 제공하는 모듈을 보면 주문금액과 결제금액이 일치하지 않거나 주문시 DB 오류등이 발생했을 때 결제를 자동으로 취소하는 기능을 제공해주고 있다. 그런데 이 부분에서 취소사유를 넣게 되는데.. utf-8 환경이라면 한글이 깨지는 문제가 있다. 영어로 입력할까 싶은 생각도 잠시 했지만 다른 사람들도 사용하는 것이라 한글로 입력을 해야겠다는 생각에 머리 싸매고 작업 시작!! 해답은 php의 setlocale() […]

Read More