Subject Re: [firebird-support] Re: Firebird and Unicode queries
Author David Johnson
The UNICODE_FSS is a different unicode than UTF-8 and UTF-16. You may
be able to cast your strings to the FSS flavor of unicode.

I asked pretty much this same question about a month ago, and was
referred to the firebird-architecture list for an update. Unless Ann or
Helen has an update, so far as I know, the status is still that there
are known issues with multibyte character sets, and the ETR is unkbnown
but definitely after FB2.0 release.

The best choice, so far, seems to be to use no character set in defining
the table, then save the characters in your application's native
character set. Since no conversion is performed either inbound or
outbound, you should be good to go ... but I would empirically test
this.



On Wed, 2005-02-09 at 14:38, salisburyproject wrote:
>
>
>
> Thanks David,
>
> Is this really so??? I decided to use FB, based on the statement it
> supports Unicode.. And it does have a UNICODE_FSS character type..
> Do you mean it is not really supported?
>
>
>
> --- In firebird-support@yahoogroups.com, David Johnson
> <d_johnson@c...> wrote:
> > UTF-8 is not the unicode character set supported by firebird.
> >
> > Firebird has known issues with multibyte character sets. Although
> > people are working on them, they are not slated for correction until
> > after version 2.0 is released.
> >
> > To store utf-8 or utf-16, you should declare the column with no
> > character set.
> >
> > Your application will have to become responsible for sorting and
> > collation. In Java, this is trivial (see Locale).
> >
> >
> > On Wed, 2005-02-09 at 05:46, salisburyproject wrote:
> > >
> > >
> > >
> > > Forgot to mention - I use the Version 1.2.1 of the FireBird
> OdbcJdbc
> > > driver.
> > >
> > > --- In firebird-support@yahoogroups.com, "salisburyproject"
> > > <kiril@o...> wrote:
> > > >
> > > >
> > > > Hi all,
> > > >
> > > > I am new to the group and not very expirienced with Firebird.
> > > > My question is about Unicode.
> > > > My table has several columns, defined as UNICODE_FSS.
> > > > When I insert data from Windows (which uses 'utf-16'), I
> convert it
> > > > to 'utf-8', the format, used by Firebird.
> > > > The data seems to be inserted correctly.
> > > > The question is - how can I use WHERE with Unicode characters.
> > > > If I simply pass a Unicode string (like Hebrew, Bulgarian,
> etc..)
> > > the
> > > > result contains ALL rows with Unicode characters.
> > > > ANd if I convert the string to UTF-8, FB returns results that
> have
> > > > nothing to do with the string passed in WHERE..
> > > > My DB has several columns, which must contain data in many
> > > languages
> > > > and I must be capable to search, based on string in these
> languages.
> > > >
> > > > FB runs on Windows, and the application too.
> > > >
> > > > Is there some special way to indicate that the string, passed
> in
> > > > INSERT and SELECT is Unicode? Or I am totally wrong in my
> aproach?
> > > >
> > > > Thanks in advance!
> > > >
> > > > Kiril Stankov.
> > >
> > >
> > >
> > >
> > >
> > >
> > > Yahoo! Groups Links
> > >
> > >
> > >
> > >
> > >
> > >
> > >
>
>
>
>
>
>
> Yahoo! Groups Links
>
>
>
>
>
>
>