UTF8 characters are not showing in my linked tables on an Oracle database.
(They’re even causing access to have problems getting a lock on records)
I tried adding "charset=utf8" to the connection string, but so far it did not work.
I thought I’d try this query when the program runs:
SET NAMES utf8
But how do I run it on the remote Oracle server through the same connection as the linked tables?
I don’t use Oracle ODBC on Windows myself but I do use various Oracle ODBC drivers on a number of UNIX operating systems. You don’t say which ODBC driver you are using but are you sure it has a connection attribute charset=utf8? The Oracle ODBC driver for Linux does not seem to have this attribute. Also, I’ve not heard of “set names utf8” for Oracle; isn’t that a mysql thing?
In UNIX to get UTF-8 data back from Oracle you set your NLS_LANG environment variable to something like AMERICAN_AMERICA.AL32UTF8 which tells the Oracle client libs how you want the data.
As an aside, ODBC doesn’t really do UTF-8 very well (explanation too long for here). ODBC drivers on Windows use the so called wide APIs SQLxxxW which take and return SQLWCHARs which are 2 bytes in size and usually UCS-2 encoded. A Unicode compliant driver on Windows should provide the SQLxxxW wide APIs and UTF-8 does not come into it.
However, as I said, I don’t use Oracle on Windows but some of the above might help you.