首页 > 其他分享 >netcore webapi部署到docker容器,api调用后显示中文乱码

netcore webapi部署到docker容器,api调用后显示中文乱码

时间:2024-08-07 09:42:20浏览次数:13  
标签:webapi 编码 UTF 文件 netcore 乱码 Visual Studio 打开

vs2022 webapi部署到docker容器,api调用后显示中文乱码 。原因是:源代码文件不是utf-8编码(用vscode打开是乱码,在vscode修改后,再提交,正常)

解决方法一:

在中文环境下用过微软家 Visual studio 的都知道,新建文件的保存编码都默认为当前系统语言,所以你的文件编码永远都是 GB2312,非常令人蛋疼。

VS 插件扩展 - Force UTF-8

进入 VS 2022 ,顶端菜单【扩展】-【管理扩展】- 搜索【Force UTF-8】,根据自己的需求下带 BOM 的或者不带 BOM 的版本。然后重启 VS 待安装完毕即可。

建议 :不带BOM(才是正统)

  解决方法二

一般是由于Docker内的字符编码设置与程序的编码不匹配导致的。

可以修改Dockfile中字符编码

FROM mcr.microsoft.com/dotnet/aspnet:6.0
ENV LANG C.UTF-8

 

使用文本编辑器:

  1. Notepad++:

    • 打开Notepad++。
    • 打开您的.cs文件。
    • 点击“编码”菜单。
    • 选择“转换为UTF-8”然后保存文件。
  2. Visual Studio Code:

    • 打开Visual Studio Code。
    • 打开您的.cs文件。
    • 通常,Visual Studio Code默认以UTF-8编码打开和保存文件,但您可以在底部状态栏确认编码格式。
    • 如果需要更改编码,点击编码格式图标(通常显示在状态栏的右下角),选择“通过编码重新打开”,然后选择UTF-8。
  3. Sublime Text:

    • 打开Sublime Text。
    • 打开您的.cs文件。
    • 通过菜单“文件”->“另存为”,在另存为对话框中选择“UTF-8 无BOM”格式,然后保存文件。
  4. Visual Studio:

    • 打开Visual Studio。
    • 打开您的.cs文件。
    • 点击“文件”菜单,然后选择“另存为...”。
    • 在另存为对话框中,点击“保存”旁边的小箭头,选择“将编码保存为UTF-8”。

标签:webapi,编码,UTF,文件,netcore,乱码,Visual,Studio,打开
From: https://www.cnblogs.com/lhhb/p/18346399

相关文章

  • 在webapi中发起HttpPost请求
    1.第一步,在启动文件添加builder.Services.AddHttpClient();实体类: publicclassSearchReq{publicstringName{get;set;}publicstringDescription{get;set;}publicintPageIndex{get;set;}publicintPageSize{get;set;}}u......
  • .netCore System.Drawing.Common 发布,在CentOS 运行报错
    centos下要运行 System.Drawing.Common,需要先安装mono的  libgdiplus插件才可以。安装后,还报以下错误的,才是下文的内容。 报错:System.PlatformNotSupportedException:System.Drawing.Commonisnotsupportedonnon-Windowsplatforms.Seehttps://aka.ms/systemdra......
  • 使用 Alba 对 AspnetCore项目进行测试
    前言在AspnetCore生态系统中,我们测试项目一般使用Microsoft.AspNetCore.TestHost的TestServer到.NET6后提供的Microsoft.AspNetCore.Mvc.Testing的WebApplicationFactory,后者是前者的封装,专门用于测试ASP.NETCore应用程序。它简化了创建和配置测试服务器的过程。而Alba也......
  • Clion 解决控制台输出中文乱码问题(亲测有效)
    步骤1:修改文件编码格式左上角,点击“文件”→“设置”选项,在弹出的窗口中找到"编辑器"选项,展开,找到“文件编码”选项,单击打开。在右边的窗口中,把三个下拉框的编码方式全部改为“utf-8” 步骤2:修改注册表信息按住Ctrl+Shift+Alt+/,在弹出的小窗口中单击“注册”选项,然后找到“......
  • 从 UTF-8 编码到 GBK 编码的转换,解决中文在日志里显示乱码
    从UTF-8编码到GBK编码的转换,通过中间步骤先将UTF-8转换为宽字符,再将宽字符转换为GBK。std::stringUtf8ToGbk(conststd::string&utf8){intlen=MultiByteToWideChar(CP_UTF8,0,utf8.c_str(),-1,NULL,0);std::unique_ptr<wchar_t[]>wstr(newwchar_t......
  • WebApi连接数据库报错:尝试加载Oracle客户端时引发BadImageFormatException
    出现的问题  今天在公司用C#搭建一个WebApi服务,接受请求并连接数据库进行查询,但连接数据库时报错:尝试加载Oracle客户端时引发BadImageFormatException。如果安装32位客户端组件的情况下以64位模式运行,将出现此问题。问题点  我之后了解点,确定了OracleClient客户端确实安装......
  • 关于使用C#注入C++的封装DLL后打印内容乱码
    最近因需要,用C++写了个钩子的DLL,一切工作测试通过后,放到C#里使用P/Invoke调用,发现部分乱码,最后反复测试,才发现一个问题,原来SetWindowsHookEx这个函数,也是分A版和W版,最后换了就正常了,附上对比。。乱码[DllImport("user32.dll",SetLastError=true]publicstaticex......
  • Linux 使用unzip解压乱码
    unzip解压乱码问题 unzip软件包的unzip命令提供了-O参数(以及-I参数),可以指定编码。 -OCHARSET为DOS,Windows和OS/2归档文件指定字符编码-ICHARSET为UNIX和其他归档文件指定字符编码 可以使用下面的命令进行解压,即制定字符编码集unzip-Ogb18030***.zip ......
  • QT 中文字符报错乱码 C2001
    由于工作限制QT只能用很早的版本,学QT的时候,使按钮显示字符setText中放入中文字符,编译时报错 网上查了很多方法,主要是字符编码不一致的问题,这里总结一下首先查一下编码是不是UTF-8上方菜单栏中点击工具,在下拉列表里点击选项 在弹出的选项窗口中,进入文本编辑器->行为界面......
  • netcore日志与异常
    ILogger简单使用asp.netcore的webApplicationBuilder中自带了一个日志组件。无需手动注册服务就能直接在控制器中构造注入。publicHomeController(ILogger<HomeController>logger){_logger=logger;}_logger.LogTrace("trace{path}",HttpContext.Request.Path);_......