none
.net core 读取appsettings.json时中文乱码,Configuration.GetConnectionString RRS feed

  • 问题

  • 如题,当appsettings.json文件含中文字时,读取到的中文字值为乱码,代码如下:

    appsettings.json 文件内容如下:

    {
      "Logging": {
        "LogLevel": {
          "Default": "Warning"
        }
      },
      "AllowedHosts": "*",

      "Data": "LineZero",
      "ConnectionStrings": {
        "DefaultConnection": "dbconn1",
        "DevConnection": "数据库2"
      }
    }

    读取代码如下:

      var data = Configuration["Data"];
                //两种方式读取
                string defaultcon = Configuration.GetConnectionString("DefaultConnection");
                Debug.Print(defaultcon);
                var devcon = Configuration["ConnectionStrings:DevConnection"];

    devcon 值为:"���ݿ�2"

    试过网上说的办法,注册编码方式后也是一样,请大神指点

    Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

    2018年10月15日 2:11

全部回复

  • 你好,

    根据你的描述,这是编码的问题,我在保存appsettings.json 的文件的时候选择UTF-8的时候,就可以正常显示了。

    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月16日 2:07
    版主
  • 真的是文件编码问题,已解决,感谢回复!
    2018年10月16日 3:32