Unicode 我应该使用哪种编码

Unicode 我应该使用哪种编码,unicode,utf-8,character-encoding,Unicode,Utf 8,Character Encoding,使用SSI,我们从一个系统中提取名称和地址,并通过仅接受UTF-8的特定于供应商的文件格式将其提供给下游系统,并根据字符位置解析数据,因此它希望每一行的长度精确 许多用户的姓名和地址中都有umlauts、撇号或重音符号。 这些字符在UTF-8中翻译不好,显示为xD3、xE1和类似的字符 由于一个字符现在被3替换,行长度现在不正确,上传失败 有没有办法用UTF-8中的重音和元音来表示字符 我们可以在源系统中更改它们,但这意味着拼写现在在技术上是不正确的。“有没有办法在UTF-8中用重音和元音来表示

使用SSI,我们从一个系统中提取名称和地址,并通过仅接受UTF-8的特定于供应商的文件格式将其提供给下游系统,并根据字符位置解析数据,因此它希望每一行的长度精确

许多用户的姓名和地址中都有umlauts、撇号或重音符号。 这些字符在UTF-8中翻译不好,显示为xD3、xE1和类似的字符

由于一个字符现在被3替换,行长度现在不正确,上传失败

有没有办法用UTF-8中的重音和元音来表示字符


我们可以在源系统中更改它们,但这意味着拼写现在在技术上是不正确的。

“有没有办法在UTF-8中用重音和元音来表示字符?”什么?UTF-8是Unicode的编码。在Unicode中,您可以表示一切,从苏美尔楔形文字到多米诺牌,以及所有其他疯狂的U+1F4A9。显然,它也可以表示umlauts。你的问题不清楚。如果您的问题是是否可以用一个字节表示所有Unicode代码点-否(但您可以尝试使用)。“一种供应商特定的文件格式,它只接受UTF-8,并根据字符位置解析数据,因此它希望每一行都是精确的长度”-那么它实际上不接受UTF-8,这是一种可变长度编码。它实际上接受ASCII,或者至少接受ANSI,iow单字节编码,而UTF-8不是。您可以使用支持某些UMLAUT/重音和其他非ASCII字符的各种拉丁编码之一。此外,考虑将某些Unicode字符(如撇号)转入ASCII等值字符!字节。从谁说过的话来看,误解才是问题所在。谁说行长或角色位置错了?嗨。你是对的,我对这个问题的理解很差。我已经意识到了这个问题。数据存储在SQL Server varchar列中,这是一些特定于windows的编码。如果我将其转换为Nvarchar,它将成为UFT-16,sql server不会执行UTF-8。使用SSI,我使用数据转换将其转换为UTF-8,指定代码页65001,并在输出文件连接上使用相同的代码页。我现在可以在提取的文件中获得UTF8编码的数据。谢谢大家的建议。