zeromess 2020-04-24 14:46 采纳率: 0%
浏览 190

C#項目中 System.Environment.SetEnvironmentVariable("NLS_LANG", "SIMPLIFIED CHINESE_CHINA.AL32UTF8")設置過段時間失效,如何解決?

我所遇到的問題:

C#web項目中,向oracle數據庫插入中文值報錯,以前的解決方法是添加環境變量的設置:   
    System.Environment.SetEnvironmentVariable("NLS_LANG", "SIMPLIFIED CHINESE_CHINA.AL32UTF8");//此處設置環境變量
      private OracleConnection OraConn = null;
      OraConn.Open();
但是現在換了服務器虛擬機(win10  +Oracle-oraclient11g__home),剛把程式部署到IIS的時候還正常,但是一段時間后就出現插入中文亂碼的問題,重新生成項目(不修改代碼)就又好了,一段時間后又插入亂碼。。。。___
            我想知道是什麼原因導致的這種變化?
  • 写回答

1条回答 默认 最新

  • 憧憬blog 2023-03-15 01:03
    关注

    您好,根据您的描述,可能是因为服务器虚拟机环境中的其他程序或操作影响了您设置的环境变量。建议您尝试以下解决方法:

    1.在代码中重新设置环境变量。每次打开连接时,使用以下语句重新设置环境变量:

    System.Environment.SetEnvironmentVariable("NLS_LANG", "SIMPLIFIED CHINESE_CHINA.AL32UTF8", EnvironmentVariableTarget.Process);

    2.在服务器上确认是否存在其他程序或操作会覆盖您的环境变量设置,可能需要联系管理员或检查系统日志。

    希望以上解决方法能够解决您的问题,如有其他问题欢迎随时提出。

    评论

报告相同问题?