You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IntelliJ IDEA控制台无法正确显示垂直制表符(U+000B)求助

IntelliJ IDEA控制台无法正确渲染垂直制表符(U+000B)的解决办法

问题详情

环境:IntelliJ IDEA 2023.3.4(旗舰版)、Windows 10
执行以下Java代码:

public class Example {
    public static void main(String[] args) {
        System.out.println("Line 1\u000BLine 2\u000BLine 3");
    }
}

实际输出:

Line 1 Line 2 Line 3

预期输出:

Line 1
Line 2
Line 3

已尝试的操作:

  • 在Help->Edit Custom VM Options中添加编码配置:
    -Dconsole.encoding=UTF-8
    -Dfile.encoding=UTF-8
    
  • 确认文件编码为UTF-8
  • 检查运行配置(Edit Configuration)

可行解决方案

1. 直接替换垂直制表符为缩进格式

IntelliJ内置控制台和Windows原生终端对U+000B的渲染支持普遍有限,最简单的方式是在代码中将垂直制表符替换为换行+对应缩进空格:

public class Example {
    public static void main(String[] args) {
        String output = "Line 1\u000BLine 2\u000BLine 3"
                .replace("\u000B", "\n      ");
        System.out.println(output);
    }
}

2. 启用终端模拟模式

在IntelliJ的运行配置中开启终端模拟,让程序调用Windows原生终端(cmd/PowerShell)执行,原生终端对特殊字符的渲染更符合预期:

  • 打开Edit Configurations,找到对应的Java运行配置
  • 切换到Configuration标签页,勾选Emulate terminal in output console选项
  • 重新运行程序

3. 自定义输出流处理特殊字符

如果需要保留原始字符的同时实现预期渲染,可以通过自定义输出流拦截U+000B并转换为缩进格式:

import java.io.FilterOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;

public class Example {
    public static void main(String[] args) {
        PrintStream originalOut = System.out;
        // 包装输出流,处理垂直制表符
        System.setOut(new PrintStream(new FilterOutputStream(originalOut) {
            @Override
            public void write(int b) throws IOException {
                if (b == 0x0B) { // 匹配U+000B
                    originalOut.write("\n      ".getBytes());
                } else {
                    super.write(b);
                }
            }
        }));
        
        System.out.println("Line 1\u000BLine 2\u000BLine 3");
        System.setOut(originalOut); // 恢复原始输出流
    }
}

内容的提问来源于stack exchange,提问作者happy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 01:15:05