【问题标题】:WebService: Difference between my pc and serverWebService:我的电脑和服务器之间的区别
【发布时间】:2023-03-16 12:48:01
【问题描述】:

我有一个错误,在本地运行时特殊字符(在这种情况下为丹麦语“ø”)显示正确,但在服务器上运行代码时显示错误(我得到一个管道“|”)。我今天试图解决这个问题,但除了更新代码文件外,我无权访问服务器。我将在星期一限制访问,因此我至少可以将中间结果写入日志文件,但为了做好准备,我想我会在这里征求建议。

程序流程:

C# 测试通过 WebRequest 调用我自己的 Web 服务。 此 Web 服务通过另一个 Web 请求调用外部 Web 服务。

在本地运行我自己的网络服务时,我会从外部网络服务返回正确的结果。

将代码部署到服务器时,外部 Web 服务返回错误;它没有找到我要搜索的词。除了我输入了“Bøssemagergade”,但它抱怨的单词返回为“B|ssemagergade”。什么会导致这种差异? AFAIK 服务器运行的区域设置与我的本地机器完全相同。

我确信这是常见的东西,但我之前没有做过 Web 服务(虽然我对 C#/.NET 感到很自在,并且了解编码等)。

谢谢!

【问题讨论】:

    标签: c# asp.net web-services encoding


    【解决方案1】:

    您需要在流程的每个阶段检查您的数据。确保您了解您正在使用哪种编码(尽量避免使用Encoding.Default)并使用WireShark 之类的内容验证通过网络传输的二进制数据。

    有关详细信息,请参阅我的 debugging unicode problems 文章。

    【讨论】:

    • 对不起,我忘了关闭这个问题。它实际上是由看起来不错但有细微错误的意大利面条代码(不是我 :) 引起的(发生了双重编码)。但是你的建议很好,所以我会接受答案。
    • 对不起,我忘了关闭这个问题。它实际上是由看起来不错但有细微错误的意大利面条代码(不是我 :) 引起的(发生了双重编码)。但是你的建议很好,所以我会接受答案。
    猜你喜欢
    • 2017-04-11
    • 1970-01-01
    • 2021-04-03
    • 2012-12-11
    • 2011-07-08
    • 2011-02-23
    • 1970-01-01
    • 2012-12-28
    • 2010-11-29
    相关资源
    最近更新 更多