VS Code中Java项目打印表情符号显示异常如何解决?
在Java中显示UTF-8表情符号
你的问题根源在于VS Code终端的编码设置不匹配,而非Java代码的输出逻辑错误。当你指定PrintStream用UTF-8输出,但终端本身采用非UTF-8编码解析时,就会出现乱码(比如变成“≡ƒÜó”)。以下是几种可行的解决方法:
解决方法
调整VS Code终端编码
- 按
Ctrl+,打开设置面板 - 搜索「terminal encoding」,找到「Terminal > Integrated: Encoding」选项,将其值改为
utf-8 - 关闭当前终端并重新打开,再运行程序
- 按
简化代码(无需自定义PrintStream)
只要终端编码设为UTF-8,直接用默认的System.out.println就能正确输出表情符号:public class EmojiTest { public static void main(String[] args) { System.out.println("🚢"); } }添加JVM启动参数(兜底方案)
如果终端编码调整后仍无效,可以在运行程序时强制指定JVM的输出编码:
在VS Code的.vscode/launch.json中,给对应配置添加vmArgs参数:{ "version": "0.2.0", "configurations": [ { "type": "java", "name": "EmojiTest", "request": "launch", "mainClass": "EmojiTest", "vmArgs": "-Dfile.encoding=UTF-8" } ] }或者直接在终端运行时加上参数:
java -Dfile.encoding=UTF-8 EmojiTest
内容的提问来源于stack exchange,提问作者holdtheline
相关产品推荐
相关产品推荐

