PHP : PDO를 이용해서 MSSQL에 UTF-8로 접속하기

리눅스에서 MSSQL을 접속하기 위해서는 FreeTDS를 사용한다.  PHP에서 PDO를 이용해서 MSSQL로 접속하기 위해서는 이 FreeTDS를 사용하는 PDO_DBLIB를 사용해야 한다.

다음은 PDO를 사용해서 MSSQL 접속하는 예이다.

$dbh = new PDO("dblib:host=sqlserver;dbname=db;","id","passwd");  
$sql = 'UPDATE Category SET Name = N? where CategoryID = ?';
$sth = $dbh->prepare($sql);  
$sth->execute(Array($name, $id));  

만약에 위의 Category 테이블의 Name 컬림이 NVARCHAR 형태라면 다음처럼 수정을 해야 데이타가 제대로 갱신된다.

$dbh = new PDO("dblib:host=sqlserver;dbname=db;charset=UTF-8","id","passwd");  
$sql = 'UPDATE Category SET Name = N? where CategoryID = ?';  
$sth = $dbh->prepare($sql);  
$sth->execute(Array($name, $id));