Firebird and UTF8

You may want to read Interbase page as well while you are here.

Test databases

Firebird jdbc url and default UTF8 database
This is how I create and connect to utf8 encoded database. I use FBDriver and connection pool service is aquired by Tomcat DBCP connection pool implementation. It gives more transparent way to change from one db server to another.
driver: org.firebirdsql.jdbc.FBDriver
url: jdbc:firebirdsql:localhost/3050:c:/db/testutf8.fdb?encoding=UTF8&user=myid&password=mypwd

Creating a database from command-line

* Run "{fb}\bin\isql.exe" commandline util to create a database
   SQL> CREATE DATABASE 'c:\db\testutf8.fdb' 
        user 'sysdba' password 'masterkey' DEFAULT CHARACTER UTF8;
   SQL> SELECT * FROM rdb$database;

Or use Flamerobin to create database and select UTF8 default charset.

I've tested Firebird unicode support which is not that great currently. See unicode link and "Use UNICODE_FSS unicode (UTF-8) as default charset in FB database" chapter. It shows how I've created testutf.fdb database.
UPDATE: Be ready to jump to Firebird2 version, it has fixed major unicode_fss problems and now has UTF8 encoding attribute. And FlameRobin admintool is way to go. Problem described here is still valid if you use UNICODE_FSS charset for string columns. Just start using UTF8 charset attribute to fix problems.

Firebird links
charset wiki

FlameRobin db admin tool
FlameRobin test

Very simple jdbc query tool
Run sql queries. I use this to test unicode support. Query and result textareas use Arial Unicode MS font, but you can change it in file if your platform has another unicode-aware font. test program and test db (with full sources)
See here example result (text and image)