I am running Oracle Database 10g Express Edition Release 10.2.0.1.0 in a dev environment with the following NLS settings:
NLS_CHARACTERSET WE8MSWIN1252 NLS_NCHAR_CHARACTERSET AL16UTF16
Used clients are either PHP with oci8 extension or the Oracle SQL Developer, using both ended up in this behaviour which I don't understand:
I had recently had some CLOB columns in a table, but now support for some eastern european languages and mandarin is needed. As the DB instance already carries data for some users, I could not manage to convert the NLS_CHARACTERSET for the entire DB as I could not find any suitable super charset for WE8MSWIN1252.
So I went down the path of emptying the table that needs to carry long localized character content in one column and changing the original CLOB column to a NCLOB. But still, when trying to insert a bulgarian string like 'Начало' stores as '¿¿¿¿¿¿', no matter by which client is it inserted.
Can anyone give me a hint what I am getting wrong here what steps are be necessary to have unicode characters stored properly in such NCLOB column in my DB? Shouldn't AL16UTF16 grasp in at my NCLOBS that stores my char data correctly?