问题解决:Ubuntu 下 IDEA 复制中文变问号乱码
问题描述在Ubuntu系统中Wayland 桌面协议使用最新版的IntelliJ IDEA 2026.1开发时遇到了一个极其诡异的复制粘贴问题从 IDEA 中复制一段包含中文的代码或文字粘贴到 Chrome 浏览器、VS Code 时中文全部变成了问号??????。但是如果先粘贴到 Ubuntu 自带的文本编辑器显示又是正常的再从编辑器二次复制粘贴到浏览器中文也正常。虽然也能用但是这种“中间商赚差价”的操作还是有点影响效率本着刨根究底的心态开始了问题定位。问题定位通过底层工具xclip对剪贴板格式进行检查发现这段复制内容中包含了十几种格式JAVA_DATATRANSFER_COOKIE_*** text/plain;charsetUS-ASCII text/html;charsetUTF-16LE text/html;charsetUTF-16 STRING ... text/html;charsetUS-ASCII text/plain;charsetUTF-8 text/plain;charsetutf-16 ... TARGETS TIMESTAMP把范围大概缩小到编码上了IDEA 输出了多种格式而部分接收方错误的选择了其中不支持中文的一些格式。接下来尝试了以下几种方案禁用 IDEA 的“富文本复制”Copy as rich text。—— 无效依然乱码。VM Options 强制指定file.encodingUTF-8。—— 无效考虑到 Linux 兼容性里最常见的显示协议问题将显示模式从Wayland换成Xorg。——成功但为了一个软件换整个系统的协议肯定是下下策考虑其他解决办法和根本原因。最后找到了这样一个issuehttps://youtrack.jetbrains.com/issue/JBR-10186/Clipboard-corrupts-multi-byte-charactersgemini 的联网搜索能力还是强根本原因IDEA 2026.1 版本引入了一个重大的底层变化默认开启了原生 Wayland 支持 (WLToolkit)。Wayland 规范并没有规定提供的 MIME 类型必须按优先级顺序排列但许多应用程序和工具包会默认选择第一个。JBR 中的实现使用了 HashSet,没有对这些编码从更高兼容到低兼容进行排序。又因为存在更多 Unicode 格式如 utf-8 的各种拼写、utf-16 的 be/le、utf-32 等HashSet 中的排序只是有很小的概率会将非 Unicode 格式放在 Unicode 格式之前导致该问题并不普遍。解决方法方案 A强制回退到 X11 兼容模式在 IDEA 中打开Help-Edit Custom VM Options...。在末尾添加-Dawt.toolkit.namex11Toolkit重启 IDEA。方案 B更换已修复该 Bug 的 JBR根本解决根据 JetBrains YouTrack (IssueJBR-10186) 的最新进展可以通过更换经过补丁修复的 JBR 来解决。更换 JBR 参考https://www.jetbrains.com/help/idea/switching-boot-jdk.html下载 JBRhttps://cache-redirector.jetbrains.com/intellij-jbr/jbr_jcef-25.0.2-linux-x64-b401.tar.gz 并解压在 IDEA 中转到“帮助 | 查找操作…” Help | Find Action…或按 CtrlShiftA找到并选择“为 IDE 选择启动 Java 运行时环境…”Choose Boot Java Runtime for the IDE…。更改 JBR 到解压目录重启 IDE。