在Powershell中将表情符号UTF8转换为Unicode
我需要使用powershell将数据持久化到数据库中。有时数据中会包含表情符号在Powershell中将表情符号UTF8转换为Unicode,powershell,unicode,encoding,utf-8,emoji,Powershell,Unicode,Encoding,Utf 8,Emoji,我需要使用powershell将数据持久化到数据库中。有时数据中会包含表情符号 DB:在DB方面,一切都应该很好。属性被设置为NVARCHAR,这使得持久化emojis成为可能。当我手动插入数据时,在我查询这些数据后显示表情符号(这是否回答了您的问题?“使用NVARCHAR(size)数据类型和前缀字符串literal加N:” powershell中的1个表情符号是2个utf16代理字符,因为它的代码对于16位来说太高 ”我的同事找到了这个问题的正确答案 要在MS SQL数据库中持久化emoj
DB:在DB方面,一切都应该很好。属性被设置为NVARCHAR,这使得持久化emojis成为可能。当我手动插入数据时,在我查询这些数据后显示表情符号(这是否回答了您的问题?“使用NVARCHAR(size)数据类型和前缀字符串literal加N:” powershell中的1个表情符号是2个utf16代理字符,因为它的代码对于16位来说太高
”我的同事找到了这个问题的正确答案
要在MS SQL数据库中持久化emojis,您需要将列声明为nvarchar(max)(max不一定),我已经这样做了
我试图像这样保存在PS脚本中硬编码的示例数据
@{description=“示例说明”从UTF8到Unicode的转换"是没有意义的-Unicode是代码点的抽象列表,UTF8是以二进制形式表示这些代码点的方法之一。可能发生的情况是双重编码,或者将二进制格式误解为不同的编码。感谢您的澄清。尽管如此,表情在powershe中以UTF-8表示LH.我想保留表情符号表示,而不是UTF8/Unicode值。不,它们不“在UTF-8中表示”,也没有“表情符号表示”这样的东西-数据库不是存储小图像,而是以某种二进制编码(可能是UTF-8或UTF-16)存储字符。您看到的是二进制表示被误解,并显示为胡言乱语。这听起来可能很迂腐,但更好地理解所涉及的概念将有助于您识别通知并解决您的问题。这是否回答了您的问题?