我遇到编码问题,因为我通过webservice API检索客户名称或订单信息等信息。我使用C#来操作API,这是一个编码问题的例子:
1)以下是MYSQL数据库中的值(输入源):TestAcctééa - >我们可以看到重音字符“éé”被很好地解释了。
2)这是我通过api检索信息时看到的值: TestAcct ???? a - >我们可以看到有一个问题,它使用所有特殊字符(é,ç,ê,...)。我无法在控制台中正确显示字符串,当我将其插入目标数据库(MSSQL)时,它会保留问号以代替特殊字符。
以下是使用api获取此特定信息的示例代码:
filters filters = new filters();
WebserviceApi service = new WebserviceApi();
string login = service.login("******", "********");
string test = null;
List<customerCustomerEntity> customers = service.customerCustomerList(login, filters).ToList();
foreach (var customer in customers)
{
if(customer.email == "test@gmail.com")
{
test = customer.firstname;
}
}
MessageBox.Show(test);
我已经在论坛上尝试了不同的解决方案,例如在C#中更改编码或转换它但没有一个有效...
顺便说一句,源数据库的编码是UTF-8 Unicode(utf8)。
感谢您的帮助。