正在将Unicode编码的字符读取到我的应用程序中
本文关键字:读取 我的 应用程序 字符 Unicode 编码 | 更新日期: 2023-09-27 18:27:40
我有一个应用程序,运行时将正确显示所有Unicode编码的字符(好吧,就是这样做的)。这些数据将存储在数据库文件中。我编写了一个应用程序来读取所有这些内容,但无法按预期正确读取。日语、汉语、韩语等语言都可以,只有越南语、德语、荷兰语等语言——其中任何一种文字上都有点或笔画——根本无法简洁地显示。谢谢你的帮助。
[更新]
谢谢你,我想我不需要再安装东亚和亚洲语言了,因为它们都已经在我的计算机系统中了。只有它们无法在我创建的应用程序中显示,但在使用数据库存储和检索它们的应用程序上显示得很好。例如,很久以前,当雅虎信使是单语的时候,只有英语可以显示,但后来它被添加了其他dll,以正确显示其他语言的其他字符。处理dll不再需要设置阅读其他语言。假设当前信使可以通过键盘上的不同输入读取英语、日语和中文,我的应用程序messengerreader就是读取这些输入。信使可以很好地处理这些输入,而我的信使阅读器无法理解我上面提到的一些语言。我现在应该或可以做些什么来让它们都发挥作用?我感谢你的帮助。
[再次更新]
好吧,我现在可以在我的应用程序上想出一个简单的例子,我需要在原始应用程序中正确显示为"LêSao"的用户名中读取。我的应用程序在"L"之后显示一些奇怪的字符。
public struct Username
{
public string username;
}
IEnumerable<Username> Getuser(string tableName)
{
Datatable dt=ReadDB(tableName);
List<Username> lst=new List<Username>();
lst.Add(new Username(){username=dt.Rows[0]['username']});
return lst.ToList();
}
你能去掉Username字符串的十六进制吗,在中添加一个这样的方法
public string UserNameAsHexDump {
get
{
char[] ca = username.ToCharArray();
string output = "";
foreach (char c in ca)
{
output += string.Format("{0} - {1:X4}'r'n", c, (uint)c);
}
return output;
}
}
复制结果,让我们看到原始数据,"LêSao"样本给出:
L - 004C
ê - 00EA
- 0020
S - 0053
a - 0061
o - 006F
SO可能会给你一个答案