ก่อนอื่นขออธิบายก่อนนะครับ
1. สเปคเครื่อง windows server 2008 R2 , oracle 11g 64bit
2. ลง oracle เรียบร้อย เซ็ต NLS_LANG = AMERICAN_AMERICA.TH8TISASCII แล้ว
3. การเชื่อมต่อเว็บ php ผ่าน odbc 32bit (โดยการลงตัว Driver เสริม)
ด้านล่างเป็นโค๊ตที่ใช้ สงสัยว่ามันเป็นเพราะอะไรซึ่งโค๊ตตัวนี้ที่ผ่านมาก็ใช้ได้กับทุกตัวรวมถึง Oracle ด้วย ลองหาในเว็บแล้วทำตามก็ยังไม่ได้ ช่วยหน่อยเถอะครับ งานต้องส่งแล้วด้วย
config.php
////
$config['odbc_datasource'] = "server";
$config['odbc_username'] = "USER1";
$config['odbc_password'] = "PASS1";
$config['odbc_collation'] = "TIS-620";
$odbc = new myODBC($config['odbc_datasource'],$config['odbc_username'],$config['odbc_password']);
$odbc->setCollation($config['odbc_collation'],"UTF-8");
connect.php
////
class myODBC {
var $_conn;
function __construct($datasource,$username="",$password=""){
$this->_conn = odbc_connect($datasource,$username,$password,SQL_CUR_USE_ODBC);
$this->setCollation();
}
/**** function connect to database ****/
function query($query,$debug = false){
$dataset = array();
$query = iconv($this->_collation2,$this->_collation1,$query);
$result = odbc_exec($this->_conn,$query);
while($row = @odbc_fetch_array($result)){
$item = array();
foreach($row as $key => $data){
$datax = iconv($this->_collation1,$this->_collation2,$data);
$item[$key] = $datax;
}
$dataset[] = $item;
}
if($debug){
echo $query;
}
return $dataset;
}
function setCollation($collation1 = "UTF-8",$collation2 = "UTF-8"){
$this->_collation1 = $collation1;
$this->_collation2 = $collation2;
}
function close (){
odbc_close($this->_conn);
}
}
มีปัญหาเกี่ยวกับ php connect oracle 11g 64bit แสดงข้อมูลหน้าเว็บเป็น ??????
1. สเปคเครื่อง windows server 2008 R2 , oracle 11g 64bit
2. ลง oracle เรียบร้อย เซ็ต NLS_LANG = AMERICAN_AMERICA.TH8TISASCII แล้ว
3. การเชื่อมต่อเว็บ php ผ่าน odbc 32bit (โดยการลงตัว Driver เสริม)
ด้านล่างเป็นโค๊ตที่ใช้ สงสัยว่ามันเป็นเพราะอะไรซึ่งโค๊ตตัวนี้ที่ผ่านมาก็ใช้ได้กับทุกตัวรวมถึง Oracle ด้วย ลองหาในเว็บแล้วทำตามก็ยังไม่ได้ ช่วยหน่อยเถอะครับ งานต้องส่งแล้วด้วย
config.php
////
$config['odbc_datasource'] = "server";
$config['odbc_username'] = "USER1";
$config['odbc_password'] = "PASS1";
$config['odbc_collation'] = "TIS-620";
$odbc = new myODBC($config['odbc_datasource'],$config['odbc_username'],$config['odbc_password']);
$odbc->setCollation($config['odbc_collation'],"UTF-8");
connect.php
////
class myODBC {
var $_conn;
function __construct($datasource,$username="",$password=""){
$this->_conn = odbc_connect($datasource,$username,$password,SQL_CUR_USE_ODBC);
$this->setCollation();
}
/**** function connect to database ****/
function query($query,$debug = false){
$dataset = array();
$query = iconv($this->_collation2,$this->_collation1,$query);
$result = odbc_exec($this->_conn,$query);
while($row = @odbc_fetch_array($result)){
$item = array();
foreach($row as $key => $data){
$datax = iconv($this->_collation1,$this->_collation2,$data);
$item[$key] = $datax;
}
$dataset[] = $item;
}
if($debug){
echo $query;
}
return $dataset;
}
function setCollation($collation1 = "UTF-8",$collation2 = "UTF-8"){
$this->_collation1 = $collation1;
$this->_collation2 = $collation2;
}
function close (){
odbc_close($this->_conn);
}
}