2013-08-28 109 views
7

Làm thế nào để xem chuỗi được mã hóa Unicode trong chế độ xem dữ liệu của trình gỡ lỗi ý tưởng Intellij? ví dụ: hãy xem xét mã sau đâyXem chuỗi unicode trong trình gỡ lỗi Intellij Idea

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

Không thể xem chế độ xem dữ liệu biến dạng trong trình gỡ lỗi, nó hiển thị giá trị rác. Mặc dù giá trị được đặt cho thấy giá trị phù hợp.

enter image description here Mọi đề xuất/xung quanh công việc?

Có thể, thiếu một số cài đặt mã hóa ở đâu đó.

+0

Hiện chúng tôi biết bạn đã thử trước và những gì vấn đề bạn đang gặp phải. –

+0

xin lỗi, đã cập nhật câu hỏi. không thể đính kèm hình ảnh (không có đủ danh tiếng) –

Trả lời

0

Điều này sẽ hiệu quả. Tôi đã sao chép mã của bạn và tôi có thể thấy các ký tự của bạn trong trình gỡ lỗi.

Có lẽ mã hóa tệp của bạn sai - bạn có thể nhìn vào cạnh dưới bên phải của cửa sổ intellij của bạn không, nó có nói UTF-8 hay cái gì khác không?

Cách khác, nếu bạn sử dụng thao tác chuyển sang Basic Latin (định vị con trỏ trên chuỗi và sử dụng alt-enter), tính năng này có hoạt động không?

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

Tôi có thể xem các chuỗi UTF-8 tốt trong tab trình soạn thảo, nhưng không có trong tab dubugger (như được chỉ ra trong hình được đề cập đến). –

1

Kiểm tra mã hóa dự án. Tôi có cùng một vấn đề. Ý tưởng hiển thị mã hóa nội dung biến trong WIN-1252. Trong phiên bản trong Editor > File Encodigs bạn có: IDE EncodingProject Encoding. Sau khi thay đổi Project Encoding thành UTF-8, mọi thứ sẽ ổn.

+0

Đó có thể là một phần của nó, nhưng tôi đã có những thiết lập để UTF-8. Thay đổi phông chữ trình gỡ lỗi (thực sự là của GUI) cho thấy các ký tự biểu tượng cảm xúc. – ben3000

1

Sự cố xảy ra ở phông chữ trình gỡ lỗi.

Vì bạn có thể xem chuỗi unicode trong trình chỉnh sửa mã, điều này có nghĩa là mọi thứ đều tốt với biểu tượng và mã hóa tệp của bạn.

Phông chữ có thể không có glyph cho mỗi ký tự unicode. Đó là vấn đề. Bạn có phông chữ khác nhau cho trình soạn thảo mã và trình gỡ lỗi. Phông chữ của trình gỡ rối không có glyphs cho các ký hiệu đó. Thật không may, hóa ra bạn không thể thay đổi phông chữ của trình gỡ rối.

Tôi vừa mới đã giải quyết vấn đề tương tự: Why Intellij IDEA doesn't display symbol?

1

vuông trống có nghĩa là những đặc điểm không được hỗ trợ bởi phông chữ IDE của bạn. thay đổi phông chữ IDE nên giải quyết nó (file -> Cài đặt -> Appearance & Behavior -> Appearance )

+1

[link] này (https://intellij-support.jetbrains.com/hc/en-us/community/posts/207053315-Display-utf8-character-on-debugger-?page=1#community_comment_207424419) hữu ích – FooBee