【问题标题】:Viewing unicode strings in Intellij Idea debugger在 Intellij Idea 调试器中查看 unicode 字符串
【发布时间】:2013-08-31 02:26:18
【问题描述】:

如何在 Intellij Idea 调试器数据视图中查看 Unicode 编码的字符串? 例如考虑以下代码

String str = "सुझाव"; //some Unicode string: utf-8
String str1 = "\u0938\u0941\u091d\u093e\u0935";
System.out.println(str);

无法在调试器的数据视图中查看变量str,它显示垃圾值。 即使设定值显示适当的值。

有什么建议/解决方法吗?

可能是在某处遗漏了一些编码设置。

【问题讨论】:

  • 向我们展示您之前尝试过的内容以及遇到的问题。
  • 抱歉,更新了问题。无法附上图片(没有足够的声誉)

标签: debugging unicode intellij-idea


【解决方案1】:

检查项目编码。我有同样的问题。 Idea 在 WIN-1252 中显示变量内容编码。 在Editor > File Encodigs 的版本中,您有:IDE EncodingProject Encoding。将Project Encoding 更改为 UTF-8 后一切正常。

【讨论】:

  • 这可能是其中的一部分,但我已经将它们设置为 UTF-8。更改调试器字体(实际上是 GUI 的字体)显示表情符号字符。
【解决方案2】:

问题在于调试器字体

由于您可以在代码编辑器中查看 unicode 字符串,这意味着您的符号和文件编码一切正常。

字体可能没有每个 Unicode 字符的字形。这就是问题所在。代码编辑器和调试器有不同的字体。调试器的字体没有这些符号的字形。不幸的是,事实证明您无法更改调试器的字体。

我刚刚解决了类似的问题:Why Intellij IDEA doesn't display ? symbol?

【讨论】:

    【解决方案3】:

    空白方块表示您的 IDE 字体不支持这些特征。更改 IDE 字体应该可以解决(File -> Settings -> Appearance & Behavior -> Appearance

    【讨论】:

    • 这个link 很有帮助
    【解决方案4】:

    这应该可行。我复制了你的代码,我可以在我的调试器中看到你的字符。

    也许你的文件编码有误 - 你能看看你的 intellij 窗口的右下角,它是 UTF-8 还是别的什么?

    或者,如果您使用 convert to Basic Latin 操作(将光标放在字符串上并使用 alt-enter),这是否有效?

        String str = "\u0938\u0941\u091d\u093e\u0935"; //some Unicode string: utf-8
    

    【讨论】:

    • 我可以在编辑器选项卡中正常查看 UTF-8 字符串,但不能在调试器选项卡中查看(如相关图片所示)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-23
    • 2010-12-27
    • 2012-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-07
    相关资源
    最近更新 更多