[PHP] mssql 사용법

WEB 2014. 11. 4. 22:45

<?PHP
 function ChkCng2UTF( $utfStr )
 {
  if( iconv("UTF-8","UTF-8",$utfStr) == $utfStr )
   return $utfStr;
  else
   return iconv( "EUC-KR", "UTF-8", $utfStr );
 }
 function ChkCng2EUC( $str )
 {
  if( iconv("EUC-KR","EUC-KR",$str) == $str )
   return $str;
  else
   return iconv( "UTF-8", "EUC-KR", $str );
 }
 
 $conn = mssql_connect( "192.168.0.xxx", "계정", "비밀번호" );
 if( $conn )
  mssql_select_db( "DB명" );
 else
  echo "mssql connect error!";
 
 
 $qry = "SELECT * FROM TEST WHERE 컬럼명 like '%테스트%'";
$result = mssql_query( ChkCng2EUC($qry) ) or die( mssql_get_last_message() . "<BR>" . $qry );
 for( $i = 0; $row = mssql_fetch_array($result); $i++ )
 {
  echo $i . " - " .  ChkCng2UTF($row[컬럼명 ]) . "<br>";
 }

?>

 

보통 mssql이 euc-kr 사용하니 쿼리를 보내거다 결과를 받을때 변환을 해서 주고 받자.

 

※추가

단순하게 위처럼 사용시 문제가 발생할수 있다 ( ChkCng2EUC )

일반적인 쿼리문은 별 문제 없지만 프로시저 사용시 문제가 생길수 있다

근본적인 해결방법은 freetds 자체 언어를 변경 해주어야 한다

 

#vi /etc/php.ini

   mssql.charset = "UTF-8"

#vi /etc/freetds.conf

[global]
;tds version = 4.2
tds version = 8.0
client charset = UTF-8


mssql.charset = "UTF-8"


출처 : http://php.net/manual/en/function.mssql-query.php

 

 

Posted by 꼬장e
,

가끔 이전 버전에서 안되는 경우 갱신을 해줘야 한다

rpm -ivh http://ftp.neowiz.com/fedora-epel/6/i386/epel-release-6-8.noarch.rpm

 

새로운 버전이 나오면 http://ftp.neowiz.com/fedora-epel/6/i386/ 로 가서 이름 확인후

"epel-release-6-8.noarch.rpm" 부분을 변경 해준다.

 

 

 

 

이후 설치

yum install php-mssql

 

ReferedURL(PHP에서 사용되는 MSSQL Function): http://php.net/manual/en/ref.mssql.php

ReferedURL: http://serverfault.com/questions/387661/install-php-mssql-in-centos-6-2

 

 

Posted by 꼬장e
,

Gnome에서 한글 설정

 

다음과 같이 Korean 한글 설치

[Applications]-[Add/Remove Software]-[Languages] 설치

 

영문버전으로 설치 시 한글 설정

 

한글 폰트 설치

# yum install kde-i18n-Korean
# yum install fonts-korean

한글 관련 모든 패키지 설치

# yum groupinstall korean-support -x xorg-x11-server-Xorg

/etc/sysconfig/i18n 파일 수정

LANG="ko_KR.eucKR"
SUPPORTED="en_US.UTF-8;en_US;en;ko_KR;eucKR;ko_KR;ko"
SYSFONT="lat0-sun 16"

다음과 같이 적용

# source /etc/sysconfig/i18n

만약, 이 방법으로 문제 해결이 되지 않는다면 다음 내용 확인

# fc-cache

 

font를 바탕으로 변경

 

fc-cache를 하지 않아서 font가 리스트에 나오지 않았다. 설정에 나오지 않는다면 이 명령을 실행해야 한다.

언어 설정 후, logout-login 한다.

 

출처 : http://www.blogcodi.net/archives/12329?cat=1759

Posted by 꼬장e
,

var str;


str.substr(0,3)    // 0번째에서 3개의 문자열 리턴

str.substr(2,3)    // 2번째에서 3개의 문자열 리턴


str.split('-')        // '-' 문자를 기준으로 배열로 리턴



Posted by 꼬장e
,