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,
        };
相关推荐
likerhood2 分钟前
Java 异常处理:从 try-catch-finally 到项目最佳实践
java·开发语言·php
松☆7 分钟前
10分钟上手pypto:用Python直接调PTO虚拟指令集
开发语言·python
并不喜欢吃鱼9 分钟前
从零开始 C++----十【C++ 数据结构】AVL 树详解:从原理到实现
开发语言·数据结构·c++
晚烛10 分钟前
CANN 大模型推理优化实战:FlashAttention、推测解码与连续批处理的工程实现
开发语言·人工智能·python·深度学习·数据挖掘
sycmancia12 分钟前
Qt——发送自定义事件(下)
开发语言·qt
*愿风载尘*14 分钟前
Python多重继承MRO报错问题处理
开发语言·python
yqcoder19 分钟前
数据的“洁癖”管家:深入解析 JavaScript Set
开发语言·javascript·ecmascript
步步为营DotNet21 分钟前
探秘.NET 11:C# 14 特性在后端性能优化中的深度应用
性能优化·c#·.net
今天背单词了吗98022 分钟前
MySQL InnoDB引擎八大核心特性详解(高频面试题)
java·数据库·mysql
码界筑梦坊23 分钟前
144-基于Flask的电商超市数据可视化分析系统
开发语言·python·信息可视化·数据分析·flask