ID: 27156
Updated by: [EMAIL PROTECTED]
Reported By: sanjok at pict dot lviv dot ua
-Status: Open
+Status: Assigned
Bug Type: OCI8 related
Operating System: Linux SuSE 7.3&8.1
PHP Version: 4.3.4
-Assigned To:
+Assigned To: tony2001
Previous Comments:
------------------------------------------------------------------------
[2004-02-11 04:13:23] sanjok at pict dot lviv dot ua
P.S.: Feedback was sent on Thu, 5 Feb 2004 15:25:01 (+0200) to mr.
Anatoly Dovgal, but there was no response from him.
------------------------------------------------------------------------
[2004-02-11 04:06:06] sanjok at pict dot lviv dot ua
<?php
/*
Oracle 9.0.1i
database internal encoding WE8DEC
database client encoding specified by NLS_LANG parameter
is GERMAN_AUSTRIA.UTF8, so Oracle automatically converts
characters to client encoding.
CREATE TABLE TEST (
NAME CHAR(10)
);
insert into test values ('�');
insert into test values ('��');
NOTE: this error doesn't occur when we use
column type VARCHAR2 insted of CHAR
*/
ociinternaldebug(true);
$connection = OCILogon(DB_USER, DB_PASS, DB_NAME);
$query = "SELECT * FROM TEST";
$statement = OCIParse ($connection, $query);
OCIExecute($statement);
while (OCIFetchInto ($statement, $row, OCI_ASSOC+OCI_RETURN_NULLS))
{
var_dump($row);
}
?>
result of ociinternaldebug.
OCIDebug: oci_do_connect: id=3
OCIDebug: oci_parse "SELECT * FROM TEST" id=4 conn=3
array(1) { ["NAME"]=> string(11) "u " } OCIDebug: _oci_make_zval:
NAME,retlen = 11,retlen4 = 0,storage_size4 =
11,indicator 10, retcode = 1406
array(1) { ["NAME"]=> bool(false) } OCIDebug: START php_rshutdown_oci
OCIDebug: END php_rshutdown_oci
OCIDebug: START _oci_stmt_list_dtor: id=4 last_query="SELECT * FROM
TEST"
OCIDebug: START _oci_column_hash_dtor: NAME
OCIDebug: END _oci_column_hash_dtor: NAME
OCIDebug: START _oci_conn_list_dtor: id=3
OCIDebug: nothing to do..
OCIDebug: END _oci_conn_list_dtor: id=3
OCIDebug: END _oci_stmt_list_dtor: id=4
------------------------------------------------------------------------
[2004-02-05 05:31:08] sanjok at pict dot lviv dot ua
Description:
------------
OCIFetchInto returns false as column value if table column contains
more than one umlaut character while combination of OCIFetch and
OCIResult functions returns correct result.
Environment:
OS: Linux SuSE 7.3/8.1;
DB: Oracle 8.1.7/9.0.1i;
PHP: 4.3.4 release
Oracle NLS_LANG is set to GERMAN_AUSTRIA.UTF8
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=27156&edit=1