Hi.
This is the text of TAR I submitted to support but it looks like they do not sure what is this and have no answer.
The summary of problem is:
'I did specify the way it does it - it converts one single 3-byte UTF8 character into 3 pairs of double-byte WE8ISO8859P1 converted characters'.

Please, help me if you know how to do it correctly.

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

17-JUL-02 16:03:03 GMT


Can you easily recover from, bypass or work around the problem? = YES
Does your system or application continue normally after the problem occurs? =
YES
Are the standard features of the system or application still available; is the
loss of service minor? = YES

### Please provide a detailed description of your problem or question. Include
WE need to insert UTF8 encoded info from JSP page to Oracle,
we used to have WE8ISO8859P1 info before and now we need UTF8.
Databse was UTF8 all the time.
We had the following syntax in JSP pages:
String standard_text = request.getParameter("group_standard_text");
I order to support UTF8 developors added
<%response.setContentType("text/html; charset=UTF-8");%>
tag for page content type and they expected all data to be automatically
converted ti UTF8, but it didn`t happen.
The following method I found on metalink works, nevertheless:
String standard_text = request.getParameter("group_standard_text");
standard_text = new String(standard_text.getBytes(), "UTF-8");
What do we need to do to aboid the specified method?
Why system does not convert all the data automatically?

### Is this a JDBC or SQLJ application? ###
JDBC

### Is this a new or existing installation? ###
Existing

### Is this a compile time or runtime error? ###
Unknown

### Do the JDBC or SQLJ (whichever is applicable) samples work? ###
Yes

### Has this application program ever worked? ###
Yes

### What is the client platform? ###
IE 5.50, Iplanet6 on sun solaris 5.6, oracle 8.1.7.4 standart edition

### Which type of JDBC driver are you using? ###
JDBC/KPRB (server-side)

### What is the JDBC Driver Version? (for JDBC/KPRB, this is same as server ver
the latest one for 9i database.

### What is the JDK Version? (if server-side driver, please indicate server ve
1.3.1.0.3

### What is the current value of the CLASSPATH environment variable? ###
for what user? I don`t see one for oracle user on oracle instance host.

### What is the current value of LD_LIBRARY_PATH? (For JDBC/OCI) ###
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/ccs/lib:/usr/ucb/lib:/usr/local/lib

### If you are on HP-UX, what is the current value of SHLIB_PATH? (For JDBC/OCI
-

### Are you able to connect? (If not, try following Note 94091.1.) ###
Yes

### What is happening in the program when the error occurs? (For example, what
JSP page does insert something unpredictable instead of valid utf8 encoded
multibyte charaters.
Need an advice how to workaround this problem and force it to work
Text continued in next action...


17-JUL-02 16:03:10 GMT

Text continued from previous action...

automatically without forced manually specified trasnlations.

### Please list all of the error numbers and their text messages you are receiv
-

### If you are getting ORA-3113 errors, are there additional errors in the aler
Unknown

Contact me via : E-mail -> putkin@vertisinc.com


18-JUL-02 14:50:07 GMT

New info : This is the example of current system behaviour:
we have a UTF8 data like
â¿¢ Good bullet 1
(of course we did see a good single bullet character on the screen, I did show
the data from database in the way I do see it in Toad utility - but on the web
page we did see a single bullet character)
we do copy it into page, issue insert operation and I do see this in the
database:
â¿¢ Good bullet 1
So, each utf8 character was converted into double-byte something - so after
insert operation we do see a three-character something on the web page,
so, it makes me beleive that JDBC still does 'WE8ISO8859P1' type convertion
instead of 'UTF8' type convertion but I don`t understand why.
I hope this is the all information you need.


19-JUL-02 13:36:06 GMT

New info : At the very beginning of this TAR I did specify the way how to avoid
this problem, so, it is possible to do it correctly.
The only problem is - this way demands a lot of application code changes and
Oracle documentation promises that this mechanism should work automatically and
JDBC 'knows' that character set do I have in the database and able to do such a
job automatically.
Any suggestions? Do you have a _working_ example of UTF8 compliant JSP
application setup working throw JDBC thin client?


19-JUL-02 13:53:31 GMT

Hello Paul,
There are four places where this data could be incorrect.
1. database
2. jdbc
3. jsp
4. browser

The first thing to do is to isolate the issue by trying it with a stand-alone Java/JDBC program.
Also, take a look at the database and dump the column.

We do not have a working example of UTF8 and JSP.

Other questions;
- what column type is this data stored in?
Is it a CLOB, VARCHAR, etc.?

- is the JSP simply reading the data already stored or is it also doing the storage of the data?

Also, you mentioned finding a work-around on Metalink.
Please give me the details of the note or ducment ID you found.

Thanks Mac McDermid



19-JUL-02 13:55:11 GMT

Email Update button has been pressed -- Sending email.
22-JUL-02 07:59:33 : CHANGES MADE VIA MetaLink
NOT YET FORWARDED TO OUR INTERNAL SYSTEMS :

New info : >Hello Paul,
>There are four places where this data could be incorrect.
>1. database
>2. jdbc
>3. jsp
>4. browser
I have a feeling that you don`t understand me.
Data is correct everythere.
It`s not a database issue and it never was a database issue. Database just
stores the data it gets. If it gets propertly encoded data - it stores it just
fine and I did specify the way we do it now in the biginning of TAR.
I have a feeling what it may be something about the way JDBC thin client gets
NLS_LANG configuration for encoding - but I didn`t find any info about it.
So, I would exclude database from this issue, and I doubt it may be JSP or
browser, it`s possible, but probaility is not too much.
>The first thing to do is to isolate the issue by trying it with a stand-alone
>Java/JDBC program.
>Also, take a look at the database and dump the column.
I did check it already and posted results here.
>We do not have a working example of UTF8 and JSP.
Too bad. I afraid this is the only way to understand what it going on.
>Other questions;
>- what column type is this data stored in?
>Is it a CLOB, VARCHAR, etc.?
The column is varchar2, naturally, sorry, I forgot to specify this.
>- is the JSP simply reading the data already stored or is it also doing the
>storage of the data?
this is OLTP application - typically JSP selects data from database, shows data
for edit and writes it back to the database. Of course, JSP can get new data
from user input and store it as well. All this works just fine except final
stage - if I have propertly encoded data in the database it displays it good,
but then it encodes it into something else.
I did specify the way it does it - it converts one single 3-byte UTF8 character
into 3 pairs of double-byte WE8ISO8859P1 converted characters.
This is the only problem I have.
I`m just asking how to force JDBC thin client to encode data proportly into
UTF8.

>Also, you mentioned finding a work-around on Metalink.
>Please give me the details of the note or ducment ID you found.
I don`t remember now where did I found this. It was just a search for the same
issue - 'JDBC thin client does not do a data convertion propertly'.