2013-08-28 75 views
7

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

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

无法查看调试器的variable-str-in数据视图,它显示垃圾数值。 即使设定值显示适当的值。

enter image description here 任何建议/变通?

可能是在某处丢失了一些编码设置。

+0

向我们展示你有尝试过,你所面对的问题。 –

+0

对不起,更新了这个问题。无法附加图片(没有足够的信誉) –

回答

0

这应该工作。我复制了你的代码,我可以在我的调试器中看到你的角色。

也许你的文件编码是错误的 - 你可以看看你的intellij窗口的右下角,是否说UTF-8或别的东西?

或者,如果您使用操作转换为基本拉丁语(将光标置于字符串上并使用alt-enter),这是否工作?

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

我可以在编辑器选项卡中正确查看UTF-8字符串,但不能在dubugger选项卡中正确显示(如问题图中所示)。 –

1

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

+0

这可能是它的一部分,但我已经将它们设置为UTF-8。更改调试器字体(真正的GUI)显示了emoji字符。 – ben3000

1

问题出在调试器字体

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

对于每个unicode字符,字体可能没有字形。这是问题。代码编辑器和调试器有不同的字体。调试器的字体没有这些符号的字形。不幸的是,事实证明你不能改变调试器的字体。

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

1

空白方块意味着这些特性也不会因你的IDE字体支持。改变IDE字体应该解决这个问题(文件 - >设置 - >外观&行为 - >外观

+1

这个[link](https://intellij-support.jetbrains.com/hc/en-us/community/posts/207053315-Display-utf8-character-on-debugger-?page=1#community_comment_207424419)很有帮助 – FooBee