【问题标题】:AngularJS non-ascii query parameterAngularJS 非 ascii 查询参数
【发布时间】:2017-05-12 09:28:37
【问题描述】:

我遇到了重定向到 AngularJS 页面可以包含非 ascii 字符作为查询参数的问题。

当查询包含/?id=test%F6test 时,值立即变为/?id=undefined (我认为是 Angular)。

有什么好的办法吗?

【问题讨论】:

  • 我认为变量未定义,如果您确定变量包含该值并且可用,那么在附加到查询之前尝试对变量进行 urlencode。
  • @atulquest93 字符已编码,%F6 是瑞典语 ö 字符,在名称中并不少见。

标签: angularjs url unicode non-ascii-characters


【解决方案1】:

Unicode 码位需要编码成UTF-8

对于code point \u00F6,,将其编码为%C3%B6

console.log(window.encodeURI("testötest"));
console.log(window.encodeURI('\u00F6'));

%F6 绝不能出现在有效的 UTF-8 序列中。

【讨论】:

  • 好的,显然源端存在一些问题。我假设(永远不应该)他们正确编码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多