出于审美原因,我想在程序中用实际箭头字符->
替换→
。它在任何地方都能很好地工作,除了在ListView
项目中,箭头被空方块替换。
任何想法为什么?
Public Class Form1
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Dim ListView1 As New System.Windows.Forms.ListView()
Dim ColumnHeader1 As New System.Windows.Forms.ColumnHeader()
Dim ColumnHeader2 As New System.Windows.Forms.ColumnHeader()
Dim ListViewItem1 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem(New String() {"Arrow", "A → B"})
ListView1.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {ColumnHeader1, ColumnHeader2})
ListView1.Items.AddRange(New System.Windows.Forms.ListViewItem() {ListViewItem1})
ListView1.Location = New System.Drawing.Point(12, 12)
ListView1.Size = New System.Drawing.Size(205, 150)
ListView1.View = System.Windows.Forms.View.Details
Me.Controls.Add(ListView1)
End Sub
End Class
答案 0 :(得分:2)
显然没有责备。在ListView的上下文中使用utf-8否则没有意义。 .NET字符串内部存储在utf-16中。
更新问题后:当字体没有显示代码点的字形时,会出现一个矩形。使用charmap.exe applet进行故障排除。并确保您确实正确地读取文件。使用调试器检查字符串。使用字符串的ToCharArray()方法查看单个字符代码。