2013-08-28 71 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