用JavaScript替换URL中的'é'等所有特殊字符

时间:2013-11-10 09:29:33

标签: javascript url character-encoding escaping

我收到来自API的回复,该API包含带有'é'等特殊字母的名称字符串。

然后我需要使用包含此名称'é'的查询字符串向另一个API发出请求。 API是第三方服务,不理解这封信。

encodeURIComponent无效,服务器仍会返回错误。

我想用'é'=>'e'之类的现有替代品替换特殊字符,是否有图书馆或一些现成的解决方案用于此目的?

2 个答案:

答案 0 :(得分:1)

这些字符被称为变音符号(更具体地说是e上方的这个小笔画。)

这是一个JS lib https://github.com/superjoe30/diacritics

您需要稍微修改它才能在没有任何模块加载器的情况下使用它。

用sth替换exports.remove。比如window.removeDiacrits然后

str = removeDiacrits(str);

并且将代码包装在IIFE

中可能是个好主意

答案 1 :(得分:0)

您是否尝试过encodeURI

encodeURI - 对网址进行编码

encodeURIComponent - 对查询字符串参数

进行编码