Subject Re: [Firebird-Java] Re: jdbc driver and unicode
Author paul@tei.or.th
thanks again for your reply. just to double check we're talking about the
same thing, i'm using the
firebird-jca-jdbc-driver.

> where you put the debug messages? there might be many places where the

right up to the point the form data is handed off to the driver. i can see
the sql statements generated & the utf-8 text is all ok at that point.

> encoding of regional settings. if characters you pass do not belong to
> your default JVM encoding, they are converted to '?'.

setting it to thai (th_TH) & passing in thai text still gets trashed (with
NONE charset).

> You can subclass org.firebirdsql.jdbc.FBDriver class, override a
> method where connection is opened and enforce lc_ctype=UNICODE_FSS to

easy for you to say ;-) i don't suppose i could prevail upon you for an
example? my knowledge of java is trivial (i'm a cf guy).

> parameters to driver. Also, ensure that you have specified character
> encoding for table fields explicitly.

well i'm fairly certain i have (at least) got the encodings in the table set
ok. but in any case:
CREATE TABLE UTEST
(
UTEXT VARCHAR(200) CHARACTER SET UNICODE_FSS
);

here the docs are a bit confusing (for me), the ib6 docs mention nchar
datatypes but i can't seem to get isql, ibaccess, etc. to use this datatype
for column definitions.

> However, I would first check documentation on extended JDBC parameters
> in cfmx.

well there is an optional "connection string" which i can pass in
"lc_ctype=UNICODE_FSS" ok but it doesn't seem to have any effect.

the cf page is encoded as utf-8. i'm inserting text like this:
INSERT INTO uTest(uText)
VALUES(_UNICODE_FSS'#form.uText#')

and i've tried it without the _UNICODE_FSS as well.
if you want to test yourself (i've turned on debugging):
http://tessaban.tei.or.th/unicode/fbUnicode.cfm

here's an cfmx example w/sql server 7 as backend:
http://tessaban.tei.or.th/unicode/

thanks.