проблема с utf и OCI-Lob->load

redic

Новичок
проблема с utf и OCI-Lob->load

Если у меня в оракле вся инфа хранится в 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 $
 

tony2001

TeaM PHPClub
в CVS-версии OCI8 всё должно работать.
это, кстати, хороший повод поставить 5.2.0 RC1.
 

tony2001

TeaM PHPClub
вряд ли.
как минимум человек пять подтвердили, что у них всё работает с юникодом.
 

redic

Новичок
огромное спасибо
использование 5.2.0 помогло
а что то про его релиз нигде не слышно?
 
Сверху