簡體   English   中英

在 Powershell 中將 Emoji UTF8 轉換為 Unicode

[英]Convert Emoji UTF8 to Unicode in Powershell

我需要使用 powershell 將數據保存在數據庫中。 有時,數據包含表情符號。

DB:在 DB 方面,一切都應該沒問題。 屬性設置為 NVARCHAR,這使得保留表情符號成為可能。 當我手動插入數據時,表情符號在我查詢后顯示(🤝💰)。 我用 SSMS 中的示例數據對其進行了測試,並且效果很好。

Powershell:在 Powershell 中准備 SQL 語句時,我注意到表情符號以 UTF8 (ðŸ¤ðŸ'°) 進行解釋。 基本上是胡言亂語。

是否有必要從 UTF8 轉換為 Unicode? 我怎樣才能將表情符號保留為 🤝💰 而不是 ðŸ¤ðŸ'°/1f600

我的同事對這個問題有正確的答案。

要將表情符號保留在 MS SQL 數據庫中,您需要將該列聲明為 nvarchar(max)(max 不一定),我已經這樣做了。

我試圖像這樣保留我在 PS 腳本中硬編碼的示例數據

@{ description = "Example Description😊😊 }

顯然 VS Code 在數據之上添加了某種編碼(我們的猜測)。

基本上解決了這個問題的只是簡單地從 API 請求數據並將其持久化到數據庫中,前綴字符串文字為 N + nvarchar(max) 列數據類型

示例: SET @displayNameFormatted = N'"+$displayName+"'然后將該變量包含在我的插入語句中。

這回答了你的問題了嗎? “使用 NVARCHAR(size) 數據類型和帶有 N 的前綴字符串文字:” 將表情符號/表情符號添加到 SQL Server 表

1 powershell 中的表情符號是 2 個 utf16 代理字符,因為它的代碼對於 16 位來說太高了。 代理和補充字符

'🤝'.length
2

Microsoft 將“unicode”變成了一個令人困惑的術語,因為這就是他們所說的 utf16 文件編碼。

Powershell 5.1 不能自動識別 utf8 無 bom 編碼的腳本。

我們不知道您的命令行實際上是什么,但另請參閱: PowerShell 中 Invoke-Sqlcmd 的 Unicode 支持

暫無
暫無

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

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