redic
Новичок
проблема с utf и OCI-Lob->load
Если у меня в оракле вся инфа хранится в UTF-8, то когда я работаю с ней из пхп (функция gp_class_create.Pdefault(r) просто выдает lob на основе данных из таблицы при помощи dbms_lob.append)
Получаю в ответ:
lob size = '1341' byte
string size = '447' byte
если же сделать через $r1->read(), то все попытки прочитать оттуда 1341 байт упираются в чтение 447, а для того чтоб прочитать 1341*8=10728 байт кусочками по 300 байт не хватает set_tike_limit(200) (т.е. 200 секунд)
PHP Version 5.1.4
'./configure' '--with-xsl=/usr/local/include/libxslt/' '--with-oci8=/home/ora/oracle/product/10.2.0/db_1'
OCI8 Support enabled
Revision $Revision: 1.297 $
Если у меня в оракле вся инфа хранится в UTF-8, то когда я работаю с ней из пхп (функция gp_class_create.Pdefault(r) просто выдает lob на основе данных из таблицы при помощи dbms_lob.append)
PHP:
$sql = "BEGIN gp_class_create.Pdefault(:r); END;";
$pdefault = oci_parse($db,$sql);
$r1 = oci_new_descriptor($db,OCI_D_LOB);
oci_bind_by_name($pdefault,":r",$r1,-1,OCI_B_CLOB);
oci_execute($pdefault);
$size = $r1->size();
echo "lob size = '",$size,"' byte<br>\n\r";
$test_string = $r1->load();
echo "string size = '",strlen($test_string),"' byte<br>\n\r";
lob size = '1341' byte
string size = '447' byte
если же сделать через $r1->read(), то все попытки прочитать оттуда 1341 байт упираются в чтение 447, а для того чтоб прочитать 1341*8=10728 байт кусочками по 300 байт не хватает set_tike_limit(200) (т.е. 200 секунд)
PHP Version 5.1.4
'./configure' '--with-xsl=/usr/local/include/libxslt/' '--with-oci8=/home/ora/oracle/product/10.2.0/db_1'
OCI8 Support enabled
Revision $Revision: 1.297 $