ID:               27156
 Comment by:       max at pict dot lviv dot ua
 Reported By:      sanjok at pict dot lviv dot ua
 Status:           No Feedback
 Bug Type:         OCI8 related
 Operating System: Linux SuSE 7.3&8.1
 PHP Version:      4.3.4
 Assigned To:      tony2001
 New Comment:

We have this problem on multiple configurations, everywhere situation
is the same.
Case1:
DB Server Compaq Tru64Unix + Oracle 10.1.0.3.0
Client machines: 
A. SuSE 7.3 + Oracle Client 9.0.1
B. SLES 9 + Oracle Instant Client 10

Case2:
DB Server SuSE 8.1 + Oracle 9.0.1
Oracle Client 9.0.1 running on the same machine.

We have tried PHP 4.3.10 and 4.3.11, and this doesn't change the
situation, problem persists.

In SQLPlus I see data correctly saved from a web application, but when
using OCIFetchInto in PHP script I receive FALSE instead of column
value when column contains more than one umlaut character.

Some details: 
NLS_LANG = GERMAN_AUSTRIA.UTF8;
Database encoding is WE8DEC.


Previous Comments:
------------------------------------------------------------------------

[2005-04-02 01:00:04] php-bugs at lists dot php dot net

No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".

------------------------------------------------------------------------

[2005-03-25 01:42:42] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php4-STABLE-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php4-win32-STABLE-latest.zip



------------------------------------------------------------------------

[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

Reply via email to