Я пытаюсь напечатать китайский язык с помощью ODBC, подключенного к MS Access. Он не работает для драйвера ODBC, но работает для ADODB, мне нужно использовать ODBC из-за существующей библиотеки codeigniter. Любое решение для этого? благодаря
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();
UPDATE: добавлен код mb_detect_encoding. Почему ODBC возвращает ASCII? Есть ли способ подключить ODBC для возврата UTF-8?