2014-05-12 29 views
7

Tôi muốn hiển thị các ký tự "" ♫ " trong một TextView của Android, nhưng nó hiển thị [] thay thế.Các ký tự đặc biệt Android TextView

Đây là mã của tôi:

txtCatname.setText("♫"); 

Làm thế nào tôi có thể hiển thị biểu tượng này một cách chính xác?

+0

Điều này có nghĩa là phông chữ thiếu glyph Unicode cụ thể. Sử dụng phông chữ khác. – CommonsWare

Trả lời

18

Bạn có thể sử dụng mã Unicode: http://unicode-table.com/en/.

Chẳng hạn như:

txtCatname.setText("\u266b"); 

hoặc cách khác sử dụng một font chữ mang tính biểu tượng, chẳng hạn như font chữ tuyệt vời:
http://fortawesome.github.io/Font-Awesome/

Sử dụng thay thế này (hoặc bất kỳ font chữ mang tính biểu tượng khác mà bạn thích), trong trường hợp nhân vật này không được hỗ trợ (không phải tất cả các ký tự Unicode đều được hỗ trợ).

+1

Một thông báo. Trong strings.xml cách duy nhất là sử dụng mã html của ký tự tức là đối với \ u266B tương đương là ♫ để xác định '' –

3

Hãy thử điều này:

String str = "♫"; 
byte spbyte[] = str.getBytes("UTF-8"); 
str = new String(spbyte,"UTF-8"); 
txtCatname.setText(str); 

Nếu nó không hoạt động, hãy thử này:

String str = "♫"; 
txtCatname.setText(Html.fromHtml(str)); 
1

Đó là phổ biến khi các tập tin nguồn được mã hóa như ANSI. Chuyển đổi tệp nguồn dưới dạng UTF-8 (không có BOM) có khả năng sẽ giải quyết được vấn đề.

Các vấn đề liên quan