簡體   English   中英

C# Azure Function .NET Core 3 字符串編碼問題

[英]C# Azure Function .NET Core 3 string Encoding Issue

我有一個 azure function 是 .net 核心 3(最新支持),在創建或更新聯系人時從 Microsoft Dynamics 365(公共數據服務)接收 JSON。 我沒有對數據進行任何轉換,只是獲取 JSON 並將其放入服務總線隊列中。 問題在於國際字符。 例子。 Dynamics 中名字的數據是

何塞

但是,一旦它到達 Azure Function,它就會變成

何塞

我刪除了我在閱讀 HTTP 請求的正文時所做的任何 UTF-8 編碼,這並沒有解決問題。 我已經嘗試了幾件事,甚至在嘗試讀取數據之前也無法弄清楚數據發生了什么。

這是我試過的。 我需要讀取 Dynamics 中的數據並將其轉換為 UTF-8,因為我發送數據的系統也在使用 UTF-8。

原來的:

string requestBody = await CommonFactory.StreamReader(req.Body).ReadToEndAsync();

我嘗試了以下方法:

        string requestBody = await req.Content.ReadAsStringAsync();

        dynamic data = await req.Content.ReadAsAsync<object>();

我還嘗試查看發送的標頭,內容類型不包括字符集值。 剛剛有

應用程序/json

我希望其他人遇到過 .NET 核心的字符串編碼問題,可以幫助我指明正確的方向。 現在,我正在嘗試切換到 memory stream 看看是否有幫助。

經過一些更深入的測試,我認為 Function 框架中有一些東西。 我從在插件注冊工具中使用 Webhook 轉移到服務端點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM