When using oracle sqlplus client(OCI) to communicate with the server, the client NLS_LANG is used to control how the characters are converted when sending to or getting from database server. For varchar2 column: Insert data: if NLS_LANG != Server Charset, the chars will be converted into server charset by client and then sent to server. Select data: if if NLS_LANG != Server Charset, the chars form database will be converted into client charset(NLS_LANG) in client side.
My question(sorry, i do not have a database to test it, I will after I set up an oracle server): 1) when using JDBC(thin), is it the same as above? Or NLS_LANG is ignored and client will convert the chars to server charset anyway and try to insert. when displaying chars from database , do nothing about charset convertion. right? 2) When using JDBC(OCI), the same as JDBC thin?