//http://nrsysmob.cafe24.com/_nrsys/feesale/fee_test.php error_reporting(0); function detect_encoding($text) { $result = array(); // 1. mb_detect_encoding $result['detected'] = mb_detect_encoding($text, array("UTF-8", "CP949", "EUC-KR", "ISO-8859-1"), true); // 2. 바이트 길이 $result['byte_length'] = strlen($text); // 3. 각 인코딩별 문자 수 $result['utf8_length'] = mb_strlen($text, "UTF-8"); $result['cp949_length'] = mb_strlen($text, "CP949"); $result['euckr_length'] = mb_strlen($text, "EUC-KR"); // 4. 16진수 $result['hex'] = bin2hex($text); // 5. 첫 바이트 확인 $first_byte = ord($text[0]); $result['first_byte'] = dechex($first_byte); return $result; } header("Content-Type: text/html; charset=euc-kr"); include "./../comon/comon.php"; $urlData = $_GET["dat"]; $params = __DecryptParams($urlData); $ip = "121.148.118.74"; $port = 5212; $strcd = "940"; $frdt = "20260819"; $todt = "20260819"; $pn = "01046489201"; // if ($pn === $myTestPhoneNumber) { // $ip = $myTestIp; // $port = $myTestPort; // $strcd = $myTestStrCd; // } /* echo "
ip:".$ip; echo "
port:".$port; echo "
strcd:".$strcd; echo "
frdt:".$frdt; echo "
todt:".$todt; echo "
pn:".$pn;
*/
include "./../comon/dbconn.inc";
//===========================================================================
//===========================================================================
//===========================================================================
if ( permissionCheck($dbconn, $pn, "FEESALE") == false ) {
$arr["RET"] = "ER_PM";
$arr["ROWCNT"] = 0;
$arr["ERMSG"] = urlencode("권한이 없습니다.");
goto go_finish_return;
}
$feeSalePerm = 0;
$qr = "SELECT OPTIONA FROM NMConfig WHERE XKEY = 'MARTGRP'"; //OptionA == 1 일때 권한사용.
$ret = mssql_query($qr, $dbconn);
if ( mssql_num_rows($ret) > 0 ) {
$row = mssql_fetch_row( $ret );
$feeSalePerm = $row[0];
}
if ( isNRdev($pn) == true ) {
$admin = "T";
}
else {
$admin = "0";
if ($feeSalePerm == 1) {
$qr = "SELECT ISNULL(ADMINU, '0') admin FROM MOBUSER WHERE PHNUMBER = '$pn' AND AENABLED = '1'";
$ret = mssql_query($qr, $dbconn);
$row = mssql_fetch_array( $ret );
if ( mssql_num_rows($ret) > 0 ) {
$admin = $row["admin"];
}
mssql_free_result($ret);
}
else {
$admin = "1";
}
}
$wh1 = "";
if ($admin == "1" or $admin == "S" or $admin == "T") {
$wh1 = " AND MCH_TYP = 'K' ";
}
else {
$wh1 = " AND VEN_CODE IN ( SELECT VENCD FROM MOBUSER_VEN WHERE PHNUMBER='$pn' ) ";
}
mssql_query("SET NAMES 'CP949'", $dbconn);
mssql_query("SET CHARACTER SET 'CP949'", $dbconn);
mssql_query("SET LANGUAGE 'Korean'", $dbconn);
$qr = "SELECT * FROM MMSTRM";
// $qr = "SELECT STR_NAME COLLATE Korean_Wansung_CI_AS STR_NAME FROM MMSTRM";
// $qr = "SELECT CAST(STR_NAME AS NVARCHAR(MAX)) STR_NAME FROM MMSTRM";
// $qr = "SELECT CONVERT(VARCHAR(MAX), STR_NAME, 2) STR_NAME FROM MMSTRM";
$ret = mssql_query($qr, $dbconn);
$hex = str_replace(' ', '', $row["STR_NAME"]);
$binary = pack("H*", $hex);
$vennm = iconv("CP949", "EUC-KR", $binary);
echo "XXXX:".$vennm . "
";
$row = mssql_fetch_array( $ret );
echo "=== 다양한 설정 테스트 ===" . "
";
echo "테스트1 - SET NAMES 'CP949'
";
mssql_query("SET NAMES 'CP949'", $dbconn);
$result = mssql_query($qr, $dbconn);
$row = mssql_fetch_array($result);
echo "결과: " . $row["STR_NAME"] . "
";
// 테스트 2
echo "테스트2 - SET NAMES 'UTF-8'
";
mssql_query("SET NAMES 'UTF-8'", $dbconn);
$result = mssql_query($qr, $dbconn);
$row = mssql_fetch_array($result);
echo "결과: " . $row["STR_NAME"] . "
";
// 테스트 3
echo "테스트3 - COLLATE 지정
";
mssql_query("SET NAMES 'CP949'", $dbconn);
$result = mssql_query($qr, $dbconn);
$row = mssql_fetch_array($result);
echo "결과: " . $row["STR_NAME"] . "
";
echo "결과2: ".iconv("UTF-8", "EUC-KR", $row["STR_NAME"]) . "
";
$detected = mb_detect_encoding($row["STR_NAME"], array("UTF-8", "CP949", "EUC-KR"), true);
echo "감지된 인코딩: " . $detected . "
";
// 16진수 확인
echo "16진수: " . bin2hex($row["STR_NAME"]) . "
";
// 현재 값
echo "현재 값: " . $row["STR_NAME"] . "
";
// 각 인코딩으로 변환 시도
echo "UTF-8 변환: " . iconv("UTF-8", "EUC-KR", $row["STR_NAME"]) . "
";
echo "CP949 변환: " . iconv("CP949", "EUC-KR", $row["STR_NAME"]) . "
";
echo "EUC-KR 변환: " . iconv("EUC-KR", "EUC-KR", $row["STR_NAME"]) . "
";
$vennm = iconv("CP949", "EUC-KR", $row["STR_NAME"]);
echo $vennm . "
";
echo urlencode($vennm) . "
";
$debug = detect_encoding($row["STR_NAME"]);
echo "
"; print_r($debug); echo ""; phpinfo(); goto go_finish_return; go_finish_return: mssql_free_result($ret); mssql_close(); ?>