C# 控制台程序输出乱码

前面概要
  • 首先有几个问题
  • 因为项目需要,和一个控制台程序做链接,控制台那边会输出用户选择的图片路径。
  • 但是我发现如果图片路径是中文,就会乱码,报错
  • 结果只需要把编码全部设置成utf-8就可以了
  • 注意Console 输出为utf-8
csharp 复制代码
Console.OutputEncoding = Encoding.UTF8;
            using (OpenFileDialog openFileDialog = new OpenFileDialog())
            {
                openFileDialog.InitialDirectory = "c:\\"; // 设置初始目录为c盘
                openFileDialog.Filter = "图片文件(*.jpg;*.jpeg;*.png)|*.jpg;*.jpeg;*.png"; // 设置过滤选项,只显示图片文件
                openFileDialog.FilterIndex = 1;
                openFileDialog.RestoreDirectory = true;
                openFileDialog.Multiselect = true;
                if (openFileDialog.ShowDialog() == DialogResult.OK) // 显示对话框
                {
                    // 用户选择了文件
                    var resutl = string.Join("|", openFileDialog.FileNames);
                    Console.WriteLine(resutl); 
                }
            }
  • 启动信息也要设置成utf-8
csharp 复制代码
string filePathv = Application.dataPath + "/Other/SelectImage.exe";
        ProcessStartInfo startInfo = new ProcessStartInfo
        {
            FileName = filePathv,
            RedirectStandardOutput = true,
            UseShellExecute = false,
            CreateNoWindow = true,
            WindowStyle = ProcessWindowStyle.Hidden,
            StandardOutputEncoding = System.Text.Encoding.UTF8,
        };
相关推荐
兩尛33 分钟前
c++知识点2
开发语言·c++
fengfuyao98537 分钟前
海浪PM谱及波形的Matlab仿真实现
开发语言·matlab
pengdott38 分钟前
Oracle RAC内存融合技术深度解析:集群性能的幕后引擎
数据库·oracle
xiaoye-duck1 小时前
C++ string 底层原理深度解析 + 模拟实现(下)——面试 / 开发都适用
开发语言·c++·stl
csudata1 小时前
绿色便携版PostgreSQL发行版重磅发布
数据库·postgresql
阳光九叶草LXGZXJ2 小时前
达梦数据库-学习-48-DmDrs控制台命令(同步之Manager、CPT模块)
linux·运维·数据库·sql·学习
Hx_Ma162 小时前
SpringMVC框架提供的转发和重定向
java·开发语言·servlet
我科绝伦(Huanhuan Zhou)2 小时前
脚本再升级,兼容Oracle 26ai一键安装
数据库·oracle
期待のcode2 小时前
原子操作类LongAdder
java·开发语言
野生绿箭侠3 小时前
Ncos 2.3.2 版本集成达梦数据库
数据库