Oracle OCI and characterset issue
| From: | Sascha Meyer | Date: | Thu, 23 Apr 2009 15:20:02 +0000 |
| Subject: | Oracle OCI and characterset issue | ||
| Groups: | php.windows | ||
| Request: | Send a blank email to php-windows+get-29283@lists.php.net to get a copy of this message | ||
Hi there,
I hope that one or another Oracle specialist is on our list, so here's something special for
you:
I recently upgraded from Zend Core for Oracle 2.0 to 2.5 (I still use the same php.ini I used with
2.0), and now my database language setup is messed up! All german umlauts are gone and I
haven't found a way to get them back.
This is my setup and database connection handling:
1.) I set up the system-wide environment variable:
"NLS_LANG=GERMAN_GERMANY.WE8ISO8859P9"
2.) Additionally, I set up the environment variable within my php script:
putenv("NLS_LANG=GERMAN_GERMANY.WE8ISO8859P9");
3.) Right before executing:
$this->dbh = oci_pconnect($dbUser, $dbPass, "//$dbHost:$dbPort/$dbName",
"NLS_LANG=GERMAN_GERMANY.WE8ISO8859P9");
Worked before, but now querying Oracle session language setup ("SELECT * FROM
NLS_SESSION_PARAMETERS") returns this:
--------------------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT YYYY-MM-DD HH24:MI:SS
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
--------------------------
Any ideas and help greatly appreciated!!
Thanks a lot!
Regards, Sascha
--
Neu: GMX FreeDSL Komplettanschluss mit DSL 6.000 Flatrate + Telefonanschluss für nur 17,95
Euro/mtl.!* http://dslspecial.gmx.de/freedsl-surfflat/?ac=OM.AD.PD003K11308T4569a