PDA

View Full Version : National char set problem with php+Oracle8 (ORA-12704)


Janne
12-21-01, 09:25
Hello,

Problem: ORA-12704 character set mismatch when I try to "insert" to NVARCHAR2.

The NLS_LANG is set on both ends as:
FINNISH_FINLAND.WE8ISO8859P1

phpinfo shows that it's correct on the php side (although I remember reading on phpbuilder.com [didn't find it any more] last spring that the environment variable should be set before apache is started thus seeing it on phpinfo wouldn't guarantee anything. Back then it wasn't even set though [didn't show on the phpinfo]).

The admin of the oracle server reported having that same NLS_LANG value set. [Is there any way confirming this on the SQL> prompt btw?)

(Copy-paste) inserts to the SQL> prompt do function but the same insert through php does not.

If I use VARCHAR2, national characters get truncated (ä -> d) and I'd like to avoid conversions to html.

If I add the n to the insert like N'Text' I get ORA-00932: inconsistent datatypes; what does that n type of expression mean btw? (Where's that in the doc?)

I use php4 (and the older ora_ -functions) and the server is Oracle 8.0.5.
I don't seem to get rid of this problem.

Please help if you have any hints.

--
Janne

PS - Is there more conciese doc for oracle? The "verbal style" and logic isn't the most suitable for me 8)

danny
05-03-02, 05:40
Hi Janne,

Get the full and straight forward answer here:

http://storacle.princeton.edu:9001/oracle8-doc/server.805/a58312/toc.htm :D

KiNaS
06-09-02, 13:48
Try to add the NLS_LANG enviroment variable to apache startup script. Only this way I solved my problems with NLS_LANG.