2009-06-26 99 views
0

我有一個特殊字符(在這種情況下,丹麥語「ø」)在本地運行時顯示正確,但錯誤代碼在服務器上運行時發生錯誤。 「)。我今天試圖解決這個問題,但除了更新代碼文件外,我沒有訪問服務器的權限。我將在星期一進行有限訪問,所以我至少可以將中間結果寫入日誌文件,但要做好準備,我想我會在此處徵求建議。WebService:我的電腦和服務器之間的差異

程序流程:

A C#測試通過的WebRequest調用自己的Web服務。 此Web服務通過另一個Web請求調用外部Web服務。

當在本地運行我自己的Web服務時,我從外部Web服務返回正確的結果。

將代碼部署到服務器時,外部Web服務返回錯誤;它沒有找到我正在尋找的詞。除了我輸入'Bøssemagergade',但它抱怨的單詞是作爲'B | ssemagergade'返回的。什麼會導致這種差異? AFAIK服務器以與本地機器完全相同的區域設置運行。我確信這是常見的東西,但是我之前沒有做過Web服務(儘管我有C#/ .NET的感覺,並且瞭解編碼等)。

謝謝!

回答

0

您需要檢查過程中每個階段的數據。確保你瞭解你使用的是哪種編碼(儘量避免使用Encoding.Default),並驗證通過WireShark之類的線路傳輸的二進制數據。

查看我的debugging unicode problems文章瞭解更多信息。

+0

對不起,我忘了關閉這個問題。它實際上是由意大利麪代碼(而不是我:)造成的,這似乎是好的,但有微妙的錯誤(發生雙重編碼)。但是你的建議很好,所以我會接受答案。 – Rabbit 2009-07-28 07:16:03

相關問題