Html 文本运行不是Unicode规范化表单C

Html 文本运行不是Unicode规范化表单C,html,validation,unicode,notepad++,unicode-normalization,Html,Validation,Unicode,Notepad++,Unicode Normalization,当我尝试验证我的站点时,出现以下错误: 文本运行不是Unicode规范化表单C A:这是什么意思 B:我可以用记事本++来修复它吗?如何修复 C:如果B是否,我如何用免费工具(不是dreamweaver)解决这个问题 这是什么意思 发件人: 在Unicode中,可以生成 相同的文本具有不同的顺序 人物的性格。例如,以 匈牙利语单词világ。第四 这封信可以作为一封信存储在内存中 预合成U+00E1拉丁文小写字母A随以锐音符(A 字符)或作为分解的 U+0061拉丁文小写字母的顺序 A后接U+0

当我尝试验证我的站点时,出现以下错误:

文本运行不是Unicode规范化表单C

A:这是什么意思

B:我可以用记事本++来修复它吗?如何修复

C:如果B是否,我如何用免费工具(不是dreamweaver)解决这个问题

这是什么意思

发件人:

在Unicode中,可以生成 相同的文本具有不同的顺序 人物的性格。例如,以 匈牙利语单词világ。第四 这封信可以作为一封信存储在内存中 预合成U+00E1拉丁文小写字母A随以锐音符(A 字符)或作为分解的 U+0061拉丁文小写字母的顺序 A后接U+0301组合急性 重音(两个字符)

világ=világ

Unicode标准允许 这些替代方案,但需要 两者应被视为相同。到 提高效率,一个应用程序 通常会在之前规范化文本 执行搜索或比较。 在本例中,规范化意味着 将文本转换为使用所有 预合成或全部分解 人物

有四种规范化形式 由Unicode标准指定: NFC、NFD、NFKC和NFKD。C站着 对于(预)合成,D表示 腐烂了。K代表 兼容性。改善 W3C建议互操作性 NFC标准化文本的使用 网络

除了“提高互操作性”,预合成文本通常比分解文本看起来更好

如何使用免费工具修复此问题

通过使用与Python的
text=unicodedata.normalize('NFC',text)
在您最喜欢的编程语言中等效的函数

(或者,如果你不打算编写一个程序,你的问题应该转移到超级用户或网站管理员那里。)

a.它的意思是它所说的(请参阅dan04的解释以获得一个简短的答案,而Unicode标准是一个很长的答案),但它只是表明验证程序的作者想要发出警告。HTML5规则不需要规范化表单C(NFC);这是W3C普遍喜欢的东西

没有必要修复任何东西,除非你决定使用NFC会更好。如果您这样做,那么有各种工具可以自动转换为NFC,例如免费编辑器。如果您只需要处理一个不在NFC中的字符,那么可以使用字符信息存储库,例如查找字符的规范分解并使用它

是否使用NFC取决于许多考虑因素和所涉及的角色。通常,NFC工作得更好,但在某些情况下,替代的非NFC表示会产生更合适的渲染或在某些特定处理中工作得更好


例如,在重复问题中,参考文献
和#8486已报告为触发消息。(验证器实际上也会检查作为此类引用输入的字符,而不仅仅是纯文本级别的NFC检查。)该引用代表U+2126欧姆符号“Ω”, 定义为标准等效于U+03A9希腊文大写字母OMEGA“Ω”。Unicode标准明确规定后者是首选字符。字体中也更好地涵盖了后者。但如果您有特殊原因使用欧姆符号,您可以在不违反当前HTML5规则的情况下使用欧姆符号,并且可以忽略验证程序警告。

规范化不仅仅是将某些字符耦合在一起。它也是例如,这10个版本的hack都有细微不同的标记顺序:ĥ̲̗̖a̲ᷜ̃̂ç̲̌︣̕k̲͆a?ᷜ̃̂ç̲︣好的,好的ẫ̲ᷜç̲︣̌̕k̲͆,ĥ̲̗̖ẫ̲ᷜç̲︣̌̕k̲͆̞̲ᷜ̂ç̲̌︣̕k̲͆,ĥ̲̗̖̲̂ᷜç̲̌︣̕k̲͆a̲ᷜ̂̃ç̲︣̌̕k̲͆̖̗̲̲ᷜ̃ç̲︣̕k̲͆,ĥ̗̖̲̲ᷜ̂ç̲̌︣̕k̲͆̗̖̲̲̂ᷜç̲︣̕k̲͆͆。其中一些标记将在NFC中合并并重新排序,但一些不会。这十个标记在NFC和NFD中看起来相同,或者是无序的。它们是UCA排序的。在JavaScript中,这将是:“你的文本”。规范化('NFC')错误消息现在变成了警告,因为HTML规范和草案不要求使用NFC——这只是W3C通常喜欢的东西。请参阅。问题中提到的地址不再起作用(它被嘲笑为域托管站点)。