C# 读取oracle 中文乱码的解决方案

时间:2024-06-01 08:37:38

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