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,
        };
相关推荐
ROC_bird..6 分钟前
STL - vector的使用和模拟实现
开发语言·c++
MavenTalk12 分钟前
Move开发语言在区块链的开发与应用
开发语言·python·rust·区块链·solidity·move
日里安41 分钟前
8. 基于 Redis 实现限流
数据库·redis·缓存
XiaoLeisj44 分钟前
【JavaEE初阶 — 多线程】生产消费模型 & 阻塞队列
java·开发语言·java-ee
2401_840192271 小时前
python基础大杂烩
linux·开发语言·python
@东辰1 小时前
【golang-技巧】- 定时任务 - cron
开发语言·golang·cron
机器人天才一号1 小时前
C#从入门到放弃
开发语言·c#
吾与谁归in1 小时前
【C#设计模式(10)——装饰器模式(Decorator Pattern)】
设计模式·c#·装饰器模式
EasyCVR1 小时前
ISUP协议视频平台EasyCVR视频设备轨迹回放平台智慧农业视频远程监控管理方案
服务器·网络·数据库·音视频
Elastic 中国社区官方博客1 小时前
使用真实 Elasticsearch 进行更快的集成测试
大数据·运维·服务器·数据库·elasticsearch·搜索引擎·集成测试