[CI] 코드이그나이터 + MSSQL2008 다국어처리
ci와 mssql2008 연결은 sqlsrv를 사용하면 연결 가능하다 다만 서버에 sqlcmd설치가 되야 연결 가능
연결 후 다국어 처리 시 값 앞에 N을 넣어주게 되는데 이부분 처리를 매번 하지 않고 ci설정을 변경해서 처리함
/system/database/DB_Driver.php
protected function _insert($table, $keys, $values)
{
foreach($values as $key => $value)
{
if(substr($value,0,1) == "'")
{
$values[$key] = "N". $value;
}
}
return 'INSERT INTO '.$table.' ('.implode(', ', $keys).') VALUES ('.implode(', ', $values).')';
}
protected function _update($table, $values)
{
foreach($values as $key => $value)
{
if(substr($value,0,1) == "'")
{
$values[$key] = "N". $value;
}
}
foreach ($values as $key => $val)
{
$valstr[] = $key.' = '.$val;
}
return 'UPDATE '.$table.' SET '.implode(', ', $valstr)
.$this->_compile_wh('qb_where')
.$this->_compile_order_by()
.($this->qb_limit ? ' LIMIT '.$this->qb_limit : '');
}
/system/database/DB_query_builder.php
_wh, _where_in, _like, _insert_batch, _update_batch, _replace
위 메서드들에도 추가
내용이 많아서 그냥 파일 첨부
버전은 3.1.4