Subject Re: UNICODE_FSS, internationalization issue
Author Roman Rokytskyy

> I have a database with default encoding UNICODE_FSS. Firebird is
> installed in a Linux box. (the locale of the box is configured for
> GReece, if that matters) I have apache and tomcat as Application
> Server. I have a web application (jsp and servlets) using character
> encoding UTF-8. In the jdbc connection I explicitly set lc_type to
> I'm trying to insert a row which has some Greek characters and some
> accented Italian characters posted by a JSP to a servlet, all
> encoded in UTF-8. What actually happens is Greek characters are
> stored fine, but Italian are converted to '?'. I tried to use
> Statements and PreparedStatements, the same effect. Besides same
> thing happens when I'm trying to insert same data from an
> application (DbVisualizer) using the same driver, so the problem is
> not deriving from my web application.
> What really troubles me is how Greek characters are stored ok. That
> implies that this is not a driver problem? Has anything to do the
> locale of the linux box where FireBird is installed?

Driver configuration seems to be ok. Ensure that you get correct UTF-8
strings from the web container. Note, new String(italian.getBytes())
in your configuration will replace all accented chars with '?', so if
such code is somewhere in the application, it will corrupt characters.
You can modify default encoding for the VM by specifying
-Dfile.encoding=XXXX (UTF-8/Cp125X/ISO8859-X).

If you are 100% sure that you give correct unicode string to JayBird
and lc_ctype is UNICODE_FSS, but it still corrupts unicode characters
that are not in default encoding, I would be very grateful for a test

Best regards,
Roman Rokytskyy