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