我遇到了一个问题,即重定向到AngularJS页面可以包含非ascii字符作为查询参数。
当查询包含/?id=test%F6test
时,该值会立即变为/?id=undefined
(由Angular推测)。
这有什么好办法吗?
答案 0 :(得分:1)
Unicode代码点需要编码为UTF-8。
code point \u00F6
,将其编码为mins = dict(a=-1, b=2, c=0)
comp = dict(a='>=', b='<=', c='<=')
qstr = ' and '.join(['{} {} {}'.format(k, comp[k], m) for k, m in mins.items()])
df.query(qstr)
a b c
2 0.054306 0.189781 -0.593007
%C3%B6
&#13;
console.log(window.encodeURI("testötest"));
console.log(window.encodeURI('\u00F6'));
绝不能出现在有效的UTF-8序列中。