用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);