vb.net桌面应用程序中的西班牙语字符

vb.net桌面应用程序中的西班牙语字符,vb.net,Vb.net,我正在学习西班牙语,并编写了一个应用程序,在屏幕上的任意位置以随机间隔显示表单。西班牙语单词取自文本文件中的任意位置。当表单出现时,将显示一个西班牙语单词,其下有一个定义。当我点击表单上的任意位置时,它会消失,稍后再次出现。表单以小于十分钟的任何间隔显示,或以我为此输入的任何值显示 带有重音符号的西班牙语字符无法正确显示。正在使用标签进行渲染。让它正确显示的最佳方式是什么。我没有在桌面应用程序中使用本地化或其他语言,只有web。如果可能,我只想更改一个标签。谢谢我在上找到了答案,并使用了以下代码

我正在学习西班牙语,并编写了一个应用程序,在屏幕上的任意位置以随机间隔显示表单。西班牙语单词取自文本文件中的任意位置。当表单出现时,将显示一个西班牙语单词,其下有一个定义。当我点击表单上的任意位置时,它会消失,稍后再次出现。表单以小于十分钟的任何间隔显示,或以我为此输入的任何值显示

带有重音符号的西班牙语字符无法正确显示。正在使用标签进行渲染。让它正确显示的最佳方式是什么。我没有在桌面应用程序中使用本地化或其他语言,只有web。如果可能,我只想更改一个标签。谢谢

我在上找到了答案,并使用了以下代码:


  Private Const ISO_8859_1 As Integer = 28591
  Dim encoding As System.Text.Encoding = System.Text.Encoding.GetEncoding(ISO_8859_1)
  reader = New IO.StreamReader(file_name, encoding)

读取文件时删除了高阶位。标签在扩展ascii集合中呈现所有内容,没有问题。

使用上的文章,我对以下内容进行了编码,与西班牙语字符没有区别。例如,从字节值为160的文本文件中读取文本。Dim resources As ComponentResourceManager=New ComponentResourceManager(GetType(Form1))resources.ApplyResources(Label1,Label1.Name,New CultureInfo(“es”))如果我有一个文本框,我可以对西班牙语字符使用ALT+numpad,并且它们显示正确。如果我将文本框文本保存到一个文件中,它有普通的ascii码,但每个西班牙文字符有两个字节。所以我为每种可能性做了一个替代矩阵。例如&he1变成&hc3+&ha1。把它塞进文本框是不行的。但是将文件保存为UTF-8不是更简单吗?这是.NET中默认的文本流编码。在任何情况下,在不知道编码的情况下都无法正确读取文本文件。我使用记事本编辑文本文件,因为它很容易。这是我第一次遇到编码问题,以后一定会记得的。我在微软论坛上开始了一个类似的帖子,这似乎对一些人来说是个问题。当然,在VB6中,您只需读取一个文件。不!文本文件(和字符串)始终具有编码。如果您不知道这肯定是平台默认编码或特定编码,则会丢失数据。记事本在“另存为”对话框中有一个编码选择。VB6文档: