[英]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.