【问题标题】:javascript - how to convert unicode string to ascii [duplicate]javascript - 如何将unicode字符串转换为ascii [重复]
【发布时间】:2011-01-02 22:28:40
【问题描述】:

如何将 unicode 字符串转换为 ascii 为友好的 url 创建一个漂亮的字符串?

【问题讨论】:

  • 和谷歌的“音译”
  • 替换重音字符不能回答这个问题。 ㏒(对数)、‰(每千分之一)、€(欧元)、␀/␆(nul/ack)、♻(循环)、∴(因此)等字符不受任何重音字母变得无重音的影响,但仍然不好友好的 url 字符,直到它们被 url-safe ascii 替换。这个问题比那个问题要广泛得多。

标签: javascript unicode ascii


【解决方案1】:

只有short list of characters 可以在 URL 的路径组件中安全地传递。

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

必须删除所有其他字符(如果您正在创建“slug”)或转义。

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

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

如果您希望实现相当于 ICONV 的音译(即将 é 转换为 e 转换为 EUR),您必须自己做,尽管您可以 leverage existing solutions并可能将transliteration table 转换为 JS 格式。

【讨论】:

  • 为我工作!与其他方法相比也很容易。
猜你喜欢
  • 2012-11-27
  • 2018-03-21
  • 2012-10-17
  • 2010-12-09
  • 2023-03-30
  • 2015-03-29
相关资源
最近更新 更多