객실예약스킨 sms 문자 깨짐 질문

· 2013-01-26 (토) 17:52:01 · 2814 · 5
function SMS($message, $receive = null)
{
global $board;
list($id, $password) = explode('|', $board['bo_8']);
list($phone, $mobile) = explode('|', $board['bo_9']);
if(isset($receive) == false)
{
$receive = $mobile;
}
$SMS = new ICODE;
$SMS -> Connect($id, $password);
$SMS -> Add($phone, $receive, $message);
$SMS -> Send();
return;
}

function BLANK($string, $size)
{
for($i = 0; $i < $size; $i++)
{
$string .= ' ';
}
$result = substr($string, 0, $size);
return $result;
}

class ICODE
{
var $ID;
var $PASSWORD;
var $SERVER;
var $PORT;
var $DATA;

function Connect($id, $password)
{
$this -> ID = BLANK($id, 10);
$this -> PASSWORD = BLANK($password, 10);
$this -> SERVER = '211.172.232.124';
$this -> PORT = rand(7192, 7195);
return;
}

function Add($send, $mobile, $message)
{
$send = str_replace('-', null, $send);
$send = BLANK($send, 33);
$mobile = str_replace('-', null, $mobile);
$mobile = BLANK($mobile, 11);
$message = stripslashes($message);
$message = BLANK($message, 80);
$this -> DATA = '01144 ' . $this -> ID . $this -> PASSWORD . $mobile . $send . $message;
return;
}

function Send()
{
$fgets = null;
$fsockopen = fsockopen($this -> SERVER, $this -> PORT);
fputs($fsockopen, $this -> DATA);
while(isset($fgets) == false)
{
$fgets = fgets($fsockopen, 30);
}
fclose($fsockopen);
$result = substr($fgets, 0, 19);
$key = '0223 00' . substr($this -> DATA, 26, 11);
$this -> DATA = null;
if($result != $key)
{
return false;
}
return true;
}
}

일단 sms를 아이코드에 보내는 함수들입니다.

현재 UTF-8로 설정되어 있어 보내면 문자가 깨져 나오네요

iconv함수로 문자내용을 EUC-KR로 변환뒤 전송해야하는데 어디에 iconv함수를 넣어야 할지 모르겠네요. 여러번 테스트 해봤는데 다운되더군요 ㅠㅠ

$message = conv("UTF-8", "EUC-KR", $message); 도 해보고 했는데 다 다운이되요...

고수님들 꼭 좀 도와주세요 ㅠ
|

댓글 5개

서버가 utf-8 인가요 ?
2013-01-28 (월) 13:20:11
넵 서버가 utf-8 입니다 ^^
$message = BLANK($message, 80);

밑에 아래 내용을 추가해보세요

$message = iconv('UTF-8', 'EUC-KR', $message);
2013-01-28 (월) 13:20:48
질문전에 그렇게 해봤는데 다운이 되버리더군요. 문자도 오지 않고요 ^^;
해피정님께서 답을 주셨네요! 저도 이것때문에 고민 많이 했는데...

function Add($send, $mobile, $message)
{
$send = str_replace('-', null, $send);
$send = BLANK($send, 33);
$mobile = str_replace('-', null, $mobile);
$mobile = BLANK($mobile, 11);
// 이곳에 넣으니까 되네요!!! ^^
$message = iconv('UTF-8', 'EUC-KR', $message);
$message = stripslashes($message);
$message = BLANK($message, 80);
$this -> DATA = '01144 ' . $this -> ID . $this -> PASSWORD . $mobile . $send . $message;
return;
}

해피정님 감사해요!!!
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

66,531건

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
13-01-26 조회 2,057
13-01-26 조회 888
13-01-26 조회 1,654
13-01-26 조회 1,736
13-01-26 조회 2,815
13-01-26 조회 889
13-01-26 조회 1,720
13-01-26 조회 932
13-01-26 조회 947
13-01-26 조회 1,613
13-01-26 조회 2,209
13-01-26 조회 1,021
13-01-26 조회 674
13-01-25 조회 1,656
13-01-25 조회 1,041
13-01-25 조회 763
13-01-25 조회 955
13-01-25 조회 820
13-01-25 조회 683
13-01-25 조회 1,840