Bug #70700 [Com]: LOB read loop ends early for multibyte strings
| From: | ashnazg@php.net | Date: | Wed, 14 Oct 2015 21:42:06 +0000 |
| Subject: | Bug #70700 [Com]: LOB read loop ends early for multibyte strings | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-196610@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=70700&edit=1
ID: 70700
Comment by: ashnazg@php.net
Reported by: ashnazg@php.net
Summary: LOB read loop ends early for multibyte strings
Status: Feedback
Type: Bug
Package: OCI8 related
Operating System: RHEL6, Win7
PHP Version: 5.5.30
Assigned To: sixd
Block user comment: N
Private report: N
New Comment:
I can't seem to google a way to determine client NLS_LANG...
The only examples I see are from in sqlplus:
SQL> !
$ echo $NLS_LANG
but that returns nothing. Perhaps that means my client is not setting it?
(also, that's good to know that OCI8 doesn't cover N-stuff either... was only aware of PDO
OCI not handling it)
Previous Comments:
------------------------------------------------------------------------
[2015-10-14 05:38:18] sixd@php.net
What's the client NLS_LANG?
Neither OCI8 or PDO_OCI support NCHAR / NCLOB.
------------------------------------------------------------------------
[2015-10-13 15:05:25] ashnazg@php.net
My environments:
RHEL6:
- PHP 5.5.24
- oci8 => 1.4.10
- Oracle Run-time Client Library Version => 11.2.0.3.0
- Oracle Instant Client Version => 12.1
- Temporary Lob support => enabled
Win7:
- PHP 5.5.11
- oci8 => 1.4.10
- Oracle Run-time Client Library Version => 11.2.0.2.0
- Oracle Instant Client Version => 11.2
- Temporary Lob support => enabled
Database:
NLS_LANGUAGE AMERICAN
NLS_CHARACTERSET AL32UTF8
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_LENGTH_SEMANTICS CHAR
I don't run these multibyte CLOB tests against my older database that uses
WE8MSWIN1252/AL16UTF16, as I've read that PDO OCI doesn't have NCLOB support implemented
(that only affects my OCI8 testing because it's a DBAL/ORM system, and thus I'm trying to
keep the 'available features' matched between OCI8 and PDO OCI).
------------------------------------------------------------------------
[2015-10-13 02:05:43] sixd@php.net
Thanks for the testcase.
Can you give details of your environment - versions, NLS settings etc?
The PDO_OCI and OCI8 code bases are different so the SO issue may have a different cause or
solutions.
------------------------------------------------------------------------
[2015-10-12 20:26:40] ashnazg@php.net
PHPT test for this bug is in PR #1569 (https://github.com/php/php-src/pull/1569)
------------------------------------------------------------------------
[2015-10-12 19:31:20] ashnazg@php.net
Note, it seems at least a little plausible in my mind that #60994 might be related to this bug, as
in the bug condition here might be the root cause of the bug behavior on #60994. See http://stackoverflow.com/questions/33026617/pdo-oci-truncates-large-multibyte-clobs
for my rationale on that thought.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=70700
--
Edit this bug report at https://bugs.php.net/bug.php?id=70700&edit=1