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,
        };
相关推荐
航Hang*2 分钟前
第3章:复习篇——第3节:数据查询与统计
数据库·笔记·sql·mysql
DBA小马哥2 分钟前
金仓数据库:构建国产数据库安全迁移新范式,助力Oracle替代进程
数据库·oracle
星环科技4 分钟前
什么是分布式数据库?一文了解分布式数据库
数据库
小尧嵌入式5 分钟前
STM32中OTA介绍及使用
开发语言·stm32·单片机·嵌入式硬件
么么...5 分钟前
SQL 学习指南:从零开始掌握DQL结构化查询语言
数据库·经验分享·笔记·sql
xincan08185 分钟前
MacOS安装Java+mvn+mvnd+jenv多环境丝滑切换
java·开发语言·macos
ekkcole7 分钟前
mysql查看数据库指定字段存在哪个表
数据库·mysql
我不是程序猿儿7 分钟前
【C#】软件设计,华为的IPD学习之需求开发心得
学习·华为·c#
派大鑫wink7 分钟前
【Day13】集合框架(一):List 接口(ArrayList vs LinkedList)实战
java·开发语言·windows
-Xie-10 分钟前
Redis(十八)——底层数据结构(三)
数据库·redis·缓存