如何解决Javascript,encodeURI() 函数未对大多数字符进行编码
我正在尝试验证一个字符串作为站点的子目录放在 url 中,问题是我的 encodeURI() 函数保留了我的大部分特殊字符,我真的不明白为什么,因为我尝试在 W3School 代码编辑器上使用相同的功能,效果很好。
假设我做了一个测试并将一个随机字符串放入函数中
var string = encodeURI("àèìòù°*;£$#"); //these are some of the special characters that the encoding doesn't work on
console.log(string);
我得到的输出是字符串"àèìòù°*;£$#"
,
然而在 W3School 控制台上的输出是 "%C3%A0%C3%A8%C3%AC%C3%B2%C3%B9%C2%B0*;%C2%A3$#"
我的函数有什么问题?
附言我也尝试使用 encodeURIComponent(),我不知道在我的情况下使用它是否更合适,我注意到它的工作方式有点不同,但仍然给我相同的结果
!!编辑!!
我刚刚在我的代码中发现了一些非常不寻常的东西,而且我对发生的事情的线索比以前少了:
var stringTest = encodeURI("àèìòù°");
console.log(stringTest);
//outputs: %C3%A0%C3%A8%C3%AC%C3%B2%C3%B9%C2%B0
$scope.myDictionary["randomkey"] = stringTest;
//gets "àèìòù°" as the value of stringTest
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。