PHP ODBC无法为MS Access打印中文,但COM可以
我正在尝试使用连接到MS Access的ODBC打印中文。它不适用于ODBC驱动程序,但适用于ADODB,我需要使用ODBC,因为codeigniter现有库。有什么解决办法吗?谢谢PHP ODBC无法为MS Access打印中文,但COM可以,php,codeigniter,ms-access,utf-8,odbc,Php,Codeigniter,Ms Access,Utf 8,Odbc,我正在尝试使用连接到MS Access的ODBC打印中文。它不适用于ODBC驱动程序,但适用于ADODB,我需要使用ODBC,因为codeigniter现有库。有什么解决办法吗?谢谢 ini_set('default_charset', 'UTF-8'); header('Content-Type: text/html; charset=utf-8'); echo '<meta http-equiv="conten
ini_set('default_charset', 'UTF-8');
header('Content-Type: text/html; charset=utf-8');
echo '<meta http-equiv="content-type" content="text/html; charset=UTF-8" />';
$conn=odbc_connect("Driver={Microsoft Access Driver (*.mdb)};CharSet=utf8;DBQ=//192.168.8.130/MainC/POS_AY.mdb",'','');
$sql = "SELECT Size FROM MenuSetPrice";
$rs= odbc_exec($conn,$sql);
odbc_fetch_row($rs) ;
$Size=odbc_result($rs,"Size");
echo $Size; // THIS NOT WORKING, it print on the browser ?
echo mb_detect_encoding($Size); // This return ASCII
$db_connection = new COM("ADODB.Connection", NULL, CP_UTF8);
$db_connstr = "Driver={Microsoft Access Driver (*.mdb)};DBQ=//192.168.8.130/MainC/POS_AY.mdb";
$db_connection->open($db_connstr);
$rs = $db_connection->execute("SELECT Size FROM MenuSetPrice");
$rs_fld0 = $rs->Fields(0);
echo ($rs_fld0->value); // THIS WORKS, it print 例
echo mb_detect_encoding($rs_fld0->value); // THIS RETURN UTF-8
$rs->Close();
$db_connection->Close();
更新:
添加了mb_detect_编码代码。为什么ODBC返回ASCII?是否有方法连接ODBC以返回UTF-8?的可能副本。