The main problem is that the character encoding of the Oracle client software is inconsistent with the server-side character encoding.
Oracle Service-side character encoding is: ZHS16GBK
The Oracle client character encoding is: WE8ISO8859P1
There are three ways to solve the problem:
(1) Modify the Client registry: Locate the Nls_lang under the Oracle installation registry and change the value to "simplified Chinese_china." Zhs16gbk
(2) The code is set in the program by calling the _PUTENV function:
Using System.Runtime.InteropServices;
...
[DllImport ("Msvcrt.dll")]
private static extern int _putenv (string str);
...
_putenv ("Nls_lang = simplified Chinese_china. ZHS16GBK ");
"_putenv (" Nls_lang = American_amrica.) We8iso8859p1 ");//Database Operations"
(3) Setting up environment variables with functions of C #
System.Environment.SetEnvironmentVarible ("Nls_lang", "simplified Chinese_china.") ZHS16GBK ");
"System.Environment.SetEnvironmentVarible (" Nls_lang "," American_amrica. ") We8iso8859p1 ");//Database Operations"