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

Java控制台打印日式颜文字/表情符号乱码问题求助

Java控制台打印颜文字乱码与转义错误解决方法

一、控制台乱码问题解决

颜文字属于Unicode字符集,控制台默认编码如果不是UTF-8,就会出现乱码。可以通过两种方式修复:

1. 修改控制台/IDE的编码设置

  • 如果用IDEA:打开File → Settings → Editor → File Encodings,把Global Encoding、Project Encoding、Default encoding for properties files全部设为UTF-8,控制台编码会自动同步。
  • 如果用Windows命令提示符(cmd):打开cmd后输入命令chcp 65001,切换控制台编码为UTF-8后再运行Java程序。

2. 代码层面强制指定输出编码

直接在代码里指定System.out使用UTF-8编码输出,摆脱系统默认编码的限制:

import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.nio.charset.StandardCharsets;

public class Main {
    public static void main(String[] args) {
        PrintWriter utf8Out = new PrintWriter(new OutputStreamWriter(System.out, StandardCharsets.UTF_8), true);
        utf8Out.print("(。•́︿•̀。)");
    }
}

二、非法转义字符错误解决

你完全不需要用反斜杠转义颜文字里的任何符号——Java字符串中只有特定字符需要转义(比如双引号\"、反斜杠\\、换行符\n等)。你最初写的System.out.print("(。•́︿•̀。)");本身是合法代码,加反斜杠反而会触发非法转义错误,因为颜文字里的符号不属于Java规定的可转义字符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 12:55:06