用OracleDataAccess.dll访问oracle数据库,遇到中文乱码的情况。

解决方案如下:

1查看字符集编码, 在数据库服务器端 启动 sqlplus

SQL->select userenv('language') from dual

查询结果如:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

2 在系统的环境变量里面加了个NLS_LANG值也是SIMPLIFIEDCHINESE_CHINA.ZHS16GBK

3 如果不进行第二步,在程序启动时调用以下代码亦可实现相同效果。

Environment.SetEnvironmentVariable("NLS_LANG","SIMPLIFIEDCHINESE_CHINA.ZHS16GBK",EnvironmentVariableTarget.Process);

05-07 15:29