Javascript比较看起来相似的unicode字符

Javascript比较看起来相似的unicode字符,javascript,Javascript,我正在比较Javascript中的一些越南语名称。但是,如果我复制一个越南语名称,如“Sởgiao dịch”,并粘贴以与另一个进行比较(使用web UI),我就能够进行比较 但如果我直接键入上面的越南语名称,则无法进行比较 我认为这是因为在复制文本字符串并进行比较时,会比较相同的unicode字符,但在键入时,会显示其他unicode字符 所以比较“Sở”和“Sở”应该得到0,但这并不是因为一个是复制的,另一个是打字的。但如果两者都是复制的,那么比较就没有问题了 那么,如何比较两个看起

我正在比较Javascript中的一些越南语名称。但是,如果我复制一个越南语名称,如“Sởgiao dịch”,并粘贴以与另一个进行比较(使用web UI),我就能够进行比较

但如果我直接键入上面的越南语名称,则无法进行比较

我认为这是因为在复制文本字符串并进行比较时,会比较相同的unicode字符,但在键入时,会显示其他unicode字符

所以比较“Sở”和“Sở”应该得到0,但这并不是因为一个是复制的,另一个是打字的。但如果两者都是复制的,那么比较就没有问题了

那么,如何比较两个看起来相似但实际上不同的unicode字符串呢


顺便说一句,我回答了这个问题,但使用C#,我使用的是javascript。

javascript中有一个规范化函数:请发布一个源代码(mcve)来重现您面临的问题。只需添加到@NineBerry的答案中,一个简单的重音字符,如“e”,可以写成单个组合字符或基础字符加上重音。对于像“ở”这样的字符,其原理是相同的:它们可以以不同的方式键入。在JavaScript中,您可以
规范化
两个字符串并比较结果,这样就不管它们是如何键入的。谢谢,它起作用了:)