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?
Edited by: 969543 on 2013-3-15 下午6:00