JavaScript - 如何将Unicode字符串转换为ASCII

3
如何将Unicode字符串转换为ASCII以创建友好URL的漂亮字符串?

4
http://stackoverflow.com/questions/626792/converting-uto-u-in-javascript https://dev59.com/0nVC5IYBdhLWcg3wdw25 - user3850
并在谷歌上搜索“音译” - user3850
替换重音字符并不能回答这个问题。像㏒(对数)、‰(千分之一)、€(欧元)、␀/␆(nul/ack)、♻(回收)和∴(因此)等字符仍然不受任何重音字母变成非重音字母的影响,但在被替换为URL安全ASCII之前,它们仍然不是友好的URL字符。这个问题比那个问题要广泛得多。 - Benjamin Staton
1个回答

9

在URL的路径组件中,只有一小部分字符可以被安全地传递。请参考百分号编码

unreserved  = ALPHA / DIGIT / "-" / "." / "_" / "~"

所有其他字符都必须被移除(如果您正在创建“slug”),或进行转义。

可以使用正则表达式/[^a-zA-Z0-9-._~]/来移除。

可以使用encodeURIComponent()进行转义。

如果您希望实现ICONV音译的等效操作(即将é转换为e,将转换为EUR),您将需要自己操作,但是您可以利用现有解决方案,并可能将一个音译表转换为JS格式。


对我来说很有效!与其他方法相比,也更容易。 - Lodewijk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接