일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 디지털 정부서비스ui/ux
- selinux
- post_type
- JavaScript
- 우분투 npm 설치
- 애니메이트
- 구글뷰어
- 우분투
- 글자 수 제한
- 배열
- 비동기호출
- 날짜비교
- 페이지전환효과
- SSL
- virsualhost
- JS
- 자바스크립트
- 리사이즈
- Ajax
- iframe
- 보안인증서
- 글자수제한
- ip직접접근차단
- 301 리다이렉트
- MySQL
- 정규식
- .htaccess
- 정부 서비스 가이드라인
- 날짜변환
- Vanilla JS
- Today
- Total
더 나은 프로그래머가 되자
SMTP 메일발송 일본어 파일명 본문
###Shift_JIS코드를 JIS코드로 변환
function sjis2jis(&$sjis_string)
{
$jis_code = '';
$c = 0;
$b = unpack("C*", $sjis_string);
$n = count($b);
$esc = array(chr(0x1B).chr(0x28).chr(0x42),
chr(0x1B).chr(0x24).chr(0x42),
chr(0x1B).chr(0x28).chr(0x49));
for ($i = 1; $i <= $n; $i++) {
$b1 = $b[$i];
if (0xA1 <= $b1 && $b1 <= 0xDF) {
if ($c != 2) {
$c = 2;
$jis_code .= $esc[$c];
}
$jis_code .= chr($b1 - 0x80);
} elseif ($b1 >= 0x80) {
if ($c != 1) {
$c = 1;
$jis_code .= $esc[$c];
}
$b2 = $b[$i+1];
$b1 <<= 1;
if ($b2 < 0x9F) {
if ($b1 < 0x13F) $b1 -= 0xE1; else $b1 -= 0x61;
if ($b2 > 0x7E) $b2 -= 0x20; else $b2 -= 0x1F;
} else {
if ($b1 < 0x13F) $b1 -= 0xE0; else $b1 -= 0x60;
$b2 -= 0x7E;
}
$jis_code .= chr($b1).chr($b2);
$i++;
} else {
if ($c != 0) {
$c = 0;
$jis_code .= $esc[$c];
}
$jis_code .= chr($b1);
}
}
if ($c != 0) $jis_code .= $esc[0];
return $jis_code;
}
###일본어 EUC코드를 JIS코드로 변환
function euc2jis(&$euc_string)
{
$jis_code = '';
$c = 0;
$b = unpack("C*", $euc_string);
$n = count($b);
$esc = array(chr(0x1B).chr(0x28).chr(0x42),
chr(0x1B).chr(0x24).chr(0x42),
chr(0x1B).chr(0x28).chr(0x49));
for ($i = 1; $i <= $n; $i++) {
$b1 = $b[$i];
if ($b1 == 0x8E) {
if ($c != 2) {
$c = 2;
$jis_code .= $esc[$c];
}
$jis_code .= chr($b[$i+1] - 0x80);
$i++;
} elseif ($b1 > 0x8E) {
if ($c != 1) {
$c = 1;
$jis_code .= $esc[$c];
}
$jis_code .= chr($b1 - 0x80).chr($b[$i+1] - 0x80);
$i++;
} else {
if ($c != 0) {
$c = 0;
$jis_code .= $esc[$c];
}
$jis_code .= chr($b1);
}
}
if ($c != 0) $jis_code .= $esc[0];
return $jis_code;
}
?>
###입력값이 Shift_JIS 코드일때(메일 전송 함수)
$filename = '=?ISO-2022-JP?B?'.base64_encode(sjis2jis($filename).'?=';
- 파일명 넘길때 파일명을 Shift_JIS로 변환 -
iconv("utf-8","SHIFT_JIS",$path_array[8])
'언어 > PHP' 카테고리의 다른 글
MYSQL 인서트한 자기 아이디 값 가져오기 (0) | 2014.11.14 |
---|---|
폴더내용확인하기 (0) | 2014.09.04 |
문자열 찾기 (0) | 2014.05.23 |
RSS 피드 만들기 (0) | 2014.03.14 |
소켓 인증을 통한 구글 메일 발송 (0) | 2013.01.31 |