none
C#使用Oracle.ManagedDataAccess.dll 连接Oracle数据库,中文乱码问题 RRS feed

  • 问题

  • C#使用Oracle.ManagedDataAccess.dll 连接Oracle数据库,获取到的数据,如何是中文会出现乱码的问题,如何解决?哪位大神有这方面的经验?谢谢!
    2018年10月24日 13:35

全部回复

  • 你好,

    可能是数据库的编码问题,试试下面的步骤试试看:

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

    Best regards,

    Zhanglong


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2018年10月25日 1:57
    版主