Use AL32UTF8 in your DAD
The character set segment of the PlsqlNLSLanguage
parameter in the DAD (Database Access Descriptor) file must be set to AL32UTF8. This setting is mandatory regardless of your database character set. This setting is crucial for the correct and smooth operation of both the APEX IDE and the applications we are developing with it, especially (but not only) if we are using AJAX (and the APEX IDE massively uses AJAX).
Oracle recommends using the AL32UTF8
character set as the default choice when installing a new database. If you have plans to develop for a multi-lingual environment, then this is the obvious and simplest choice. Using AL32UTF2
, in both the database and the DAD, will save you a lot of character set conversions in the way in and out of the database.
APEX is using AL32UTF8
(Unicode UTF-8) as the default encoding for all the exported files from the Application Builder, and won't even give you an option of changing it.
Note
Bear in mind:
Using any other character set in your DAD, especially one that matches your (local) database character set will not stop APEX from working, and in some cases, it can even appear as it works well. In all likelihood, this is a false and misleading, and it's only a question of when problems start to emerge. Installation and configuration problems are hard enough to diagnose and solve as it is. Don't add another hardship by using a faulty configuration from the start.