Skip to content

[Bug]: Chinease 文字乱码 character messing #40853

@andyzhangff

Description

@andyzhangff

Bug type

Regression (worked before, now fails)

Summary

OpenClaw Issue Report: Windows Console Unicode Display Bug
问题描述
openclaw skills list 命令在 Windows PowerShell/命令提示符中显示乱码。

环境信息
操作系统: Windows 10/11
终端: PowerShell / CMD
OpenClaw 版本: 2026.3.7
代码页: 默认 936 (GBK)
复现步骤
在 Windows 上安装 OpenClaw
打开 PowerShell 或 CMD
运行 openclaw skills list
观察输出
实际输出(乱码)
┌───────────┬──────────────────┬────────
───────────────────────────────────────�
�───────────────────┬──────────────────�?�
?Status �?Skill �?Description �?Source
预期输出
表格边框应该正确显示 Unicode 字符:

┌───────────┬──────────────────┬───────────────────────────────────────────────────────────────────┬──────────────────┐
│ Status │ Skill │ Description │ Source │
根本原因
Windows 控制台默认使用 GBK (代码页 936) 编码,而 OpenClaw 使用 UTF-8 Unicode 表格字符(如 ┌─┬─┐│ 等),导致显示乱码。

建议修复方案
方案 1:检测 Windows 平台并调整输出
// 在 CLI 输出前检测平台
if (process.platform === 'win32') {
// 使用 ASCII 表格字符替代 Unicode
// 或强制设置控制台代码页为 UTF-8
}
方案 2:添加 --no-unicode 选项
openclaw skills list --no-unicode # 使用 ASCII 表格
方案 3:使用第三方表格库
使用支持跨平台的表格库(如 cli-table3 的 Windows 兼容模式)。

临时解决方案
用户可以在运行命令前手动设置 UTF-8 编码:

chcp 65001
$OutputEncoding = [System.Text.Encoding]::UTF8
openclaw skills list
影响范围
所有使用表格输出的命令:skills list, agents list, tools list 等
影响 Windows 用户的首次体验
优先级
建议 Medium-High,影响 Windows 用户的视觉体验。

Reporter: OpenClaw User
Date: 2026-03-09
Here's the English translation:


OpenClaw Issue Report: Windows Console Unicode Display Bug

Problem Description
The openclaw skills list command displays garbled text in Windows PowerShell/Command Prompt.

Environment Information

  • Operating System: Windows 10/11
  • Terminal: PowerShell / CMD
  • OpenClaw Version: 2026.3.7
  • Code Page: Default 936 (GBK)

Steps to Reproduce

  1. Install OpenClaw on Windows
  2. Open PowerShell or CMD
  3. Run openclaw skills list
  4. Observe the output

Actual Output (Garbled)

┌───────────┬──────────────────┬────────
───────────────────────────────────────�
�───────────────────┬──────────────────�?�
?Status    �?Skill            �?Description                                                       �?Source

Expected Output
Table borders should correctly display Unicode characters:

┌───────────┬──────────────────┬───────────────────────────────────────────────────────────────────┬──────────────────┐
│ Status    │ Skill            │ Description                                                       │ Source           │

Root Cause
The Windows console uses GBK (code page 936) encoding by default, while OpenClaw uses UTF-8 Unicode table characters (such as ┌─┬─┐│ etc.), resulting in garbled display.

Suggested Fixes

Option 1: Detect Windows Platform and Adjust Output

// Detect platform before CLI output
if (process.platform === 'win32') {
  // Use ASCII table characters instead of Unicode
  // Or force console code page to UTF-8
}

Option 2: Add --no-unicode Option

openclaw skills list --no-unicode  # Use ASCII tables

Option 3: Use Third-Party Table Library
Use a cross-platform table library (such as cli-table3's Windows compatibility mode).

Workaround
Users can manually set UTF-8 encoding before running commands:

chcp 65001
$OutputEncoding = [System.Text.Encoding]::UTF8
openclaw skills list

Impact Scope

  • All commands using table output: skills list, agents list, tools list, etc.
  • Affects first-time experience for Windows users

Priority
Suggested Medium-High — impacts visual experience for Windows users.


Reporter: OpenClaw User

Date: 2026-03-09

Steps to reproduce

OpenClaw Issue Report: Windows Console Unicode Display Bug
问题描述
openclaw skills list 命令在 Windows PowerShell/命令提示符中显示乱码。

环境信息
操作系统: Windows 10/11
终端: PowerShell / CMD
OpenClaw 版本: 2026.3.7
代码页: 默认 936 (GBK)
复现步骤
在 Windows 上安装 OpenClaw
打开 PowerShell 或 CMD
运行 openclaw skills list
观察输出
实际输出(乱码)
┌───────────┬──────────────────┬────────
───────────────────────────────────────�
�───────────────────┬──────────────────�?�
?Status �?Skill �?Description �?Source
预期输出
表格边框应该正确显示 Unicode 字符:

┌───────────┬──────────────────┬───────────────────────────────────────────────────────────────────┬──────────────────┐
│ Status │ Skill │ Description │ Source │
根本原因
Windows 控制台默认使用 GBK (代码页 936) 编码,而 OpenClaw 使用 UTF-8 Unicode 表格字符(如 ┌─┬─┐│ 等),导致显示乱码。

建议修复方案
方案 1:检测 Windows 平台并调整输出
// 在 CLI 输出前检测平台
if (process.platform === 'win32') {
// 使用 ASCII 表格字符替代 Unicode
// 或强制设置控制台代码页为 UTF-8
}
方案 2:添加 --no-unicode 选项
openclaw skills list --no-unicode # 使用 ASCII 表格
方案 3:使用第三方表格库
使用支持跨平台的表格库(如 cli-table3 的 Windows 兼容模式)。

临时解决方案
用户可以在运行命令前手动设置 UTF-8 编码:

chcp 65001
$OutputEncoding = [System.Text.Encoding]::UTF8
openclaw skills list
影响范围
所有使用表格输出的命令:skills list, agents list, tools list 等
影响 Windows 用户的首次体验
优先级
建议 Medium-High,影响 Windows 用户的视觉体验。

Reporter: OpenClaw User
Date: 2026-03-09
Here's the English translation:


OpenClaw Issue Report: Windows Console Unicode Display Bug

Problem Description
The openclaw skills list command displays garbled text in Windows PowerShell/Command Prompt.

Environment Information

  • Operating System: Windows 10/11
  • Terminal: PowerShell / CMD
  • OpenClaw Version: 2026.3.7
  • Code Page: Default 936 (GBK)

Steps to Reproduce

  1. Install OpenClaw on Windows
  2. Open PowerShell or CMD
  3. Run openclaw skills list
  4. Observe the output

Actual Output (Garbled)

┌───────────┬──────────────────┬────────
───────────────────────────────────────�
�───────────────────┬──────────────────�?�
?Status    �?Skill            �?Description                                                       �?Source

Expected Output
Table borders should correctly display Unicode characters:

┌───────────┬──────────────────┬───────────────────────────────────────────────────────────────────┬──────────────────┐
│ Status    │ Skill            │ Description                                                       │ Source           │

Root Cause
The Windows console uses GBK (code page 936) encoding by default, while OpenClaw uses UTF-8 Unicode table characters (such as ┌─┬─┐│ etc.), resulting in garbled display.

Suggested Fixes

Option 1: Detect Windows Platform and Adjust Output

// Detect platform before CLI output
if (process.platform === 'win32') {
  // Use ASCII table characters instead of Unicode
  // Or force console code page to UTF-8
}

Option 2: Add --no-unicode Option

openclaw skills list --no-unicode  # Use ASCII tables

Option 3: Use Third-Party Table Library
Use a cross-platform table library (such as cli-table3's Windows compatibility mode).

Workaround
Users can manually set UTF-8 encoding before running commands:

chcp 65001
$OutputEncoding = [System.Text.Encoding]::UTF8
openclaw skills list

Impact Scope

  • All commands using table output: skills list, agents list, tools list, etc.
  • Affects first-time experience for Windows users

Priority
Suggested Medium-High — impacts visual experience for Windows users.


Reporter: OpenClaw User

Date: 2026-03-09

Expected behavior

with 中文 or English

Actual behavior

┌───────────┬──────────────────┬────────
───────────────────────────────────────�
�───────────────────┬──────────────────�?�
?Status �?Skill �?Description �?Source

OpenClaw version

3.7

Operating system

win11

Install method

No response

Logs, screenshots, and evidence

Impact and severity

No response

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingregressionBehavior that previously worked and now fails

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions