My last answer wasn't complete... When the datbase is in UTF-8, the software around it must be capable of handling UTF-8 too, so you must recompile.
We use multilanguage (English, Japanese, Chinese etc.), so all software is compiled with cpinternal = undefined, cprcodeout = undefined, cpstream = undefined and cpcoll = basic.
When the client starts, the codepage parameters are passed in the .pf file (e.g. the .pf file for chinese users has -cpinternal GB2312 -cpstream GB2312).
Currently we use the character interface only, towards the end of the year we may dive into the .NET UI interface.