Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C和表情符号编码_C#_Ios_Sql Server - Fatal编程技术网

C# C和表情符号编码

C# C和表情符号编码,c#,ios,sql-server,C#,Ios,Sql Server,我想知道是否有任何方法可以将存储在MS sql server数据库中的表情符号转换回其原始值 以下是场景: 数据库中的行如下所示: Hello 😄 其中,“微笑”应该是正常的笑脸;现在,为了避免数据库中的人脸,有没有可能在表情符号甚至方形符号中翻译回“脸”,当用Segoe UI符号在word中复制回脸时,会在表情符号中出现?愚蠢的问题,但您使用的是哪种版本的SQL Server?您使用的是nvarchar字段吗?Sql Server 2012支持必须设置的多字节utf-16排序规则。如果

我想知道是否有任何方法可以将存储在MS sql server数据库中的表情符号转换回其原始值

以下是场景:

数据库中的行如下所示:

Hello 😄

其中,“微笑”应该是正常的笑脸;现在,为了避免数据库中的人脸,有没有可能在表情符号甚至方形符号中翻译回“脸”,当用Segoe UI符号在word中复制回脸时,会在表情符号中出现?

愚蠢的问题,但您使用的是哪种版本的SQL Server?您使用的是nvarchar字段吗?Sql Server 2012支持必须设置的多字节utf-16排序规则。如果不是,考虑将字节返回到C代码,并使用UTF16IO编码器来获取字节流。它是SQL Server 2012,字段是NVARCHARMAX,文本由IOS App.It选择CurrtValBiLyax Max,MyFiel[Myfield ],然后使用Stase.Text .Cudio.Unicode。GestStRistBy[[] ],我相信这应该起作用。@ MichaelB,我尝试了您告诉我的内容,但没有成功,我在sql server中创建并导入了程序集,该程序集具有从byte[]转换为nvarchar的函数。不走运的话,输出的文本和奇怪的字符是一样的。实际上,它看起来像是存储utf8代码点,带有字节填充。而不是存储utf16代码点。它将序列存储为0xF0007801DC021E20,这对于表情符号代码点来说太长了。它应该是4字节的数据,而不是8字节。将其转换为varchar,然后转换为二进制,我们得到序列0xF09F9884,将其滚入UTF8编码器,然后得到一个笑脸。您可以在这里看到:它存储了UTF-8序列,但带有填充。