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,
        };
相关推荐
努力也学不会java几秒前
【Java并发】揭秘Lock体系 -- 深入理解ReentrantReadWriteLock
java·开发语言·python·机器学习
ActionTech2 分钟前
2025 年 9 月《大模型 SQL 能力排行榜》发布,新增 Kimi K2 最新版测评!
数据库·sql·ai·oracle
君莫愁。11 分钟前
【Unity】构建超实用的有限状态机管理类
unity·c#·游戏引擎·有限状态机
vxtkjzxt88814 分钟前
自动化脚本矩阵运营
开发语言·php
王严培.23 分钟前
7.MATLAB疑难问题诊疗的技术
开发语言·matlab·信息可视化
wjs202434 分钟前
PHP MySQL 使用 ORDER BY 排序查询
开发语言
爱敲代码的TOM40 分钟前
深入剖析Java通信架构下的三种IO模式2
java·开发语言·架构
lang201509281 小时前
掌握MyBatis Java API:高效操作数据库
java·数据库·mybatis
UWA1 小时前
Unreal开发痛点破解!GOT Online新功能:Lua全监控 + LLM内存可视化!
开发语言·lua·unreal
Mr.wangh1 小时前
Redis作为分布式锁
数据库·redis·分布式