更新时间:2026-03-10 GMT+08:00
分享

输出内容存在乱码

问题现象

用户在华为云码道中输入会话内容后,生成的输出内容中出现乱码现象。

图1 乱码

原因分析

终端编码与程序输出编码不一致。在Windows系统中,不同代码页(Code Page)对应不同的字符集支持。为避免此类问题,建议将终端代码页统一设置为65001(UTF-8)

解决方法

  1. 设置终端为UTF-8。

    bash
    chcp 65001

    设置后,再次发起会话,查看问题是否解决。如果仍然存在乱码,请继续执行2

  2. 设置PowerShell的.NET编码为UTF-8。

    在PowerShell中,字符输出使用的是.NET的Console.OutputEncoding属性,而非Windows控制台的CodePage设置。

    1. 查看当前PowerShell使用的.NET编码。
      [Console]::OutputEncoding
    2. 将编码设置为UTF-8。
      • 将PowerShell的输出编码临时设置为UTF-8
        此设置仅在当前会话中生效,关闭PowerShell后将恢复为默认设置。
        [Console]::OutputEncoding = [System.Text.Encoding]::UTF8
      • 永久设置PowerShell启动时使用UTF-8

        如果希望每次打开PowerShell时都自动设置编码为UTF-8,可以将如下命令添加到PowerShell的配置文件PROFILE中。

        [Console]::InputEncoding  = [System.Text.Encoding]::UTF8
        [Console]::OutputEncoding = [System.Text.Encoding]::UTF8

相关文档