如何在URL中显示中文(非ASCII)字符

时间:2015-10-17 07:25:24

标签: angularjs url angular-ui-router

我正在使用AngularJS开发一个中文网站。我使用ui-router来管理URL链接,URL的参数是中文。

以下是代码,schoolName是控制器中的变量,值为中文字符:

<a ui-sref="showSchools({name:schoolName})" > 查找</a>

问题是它会生成如下的URL:

http://localhost:8080/#/showSchools?name=%E7%A6%8F%E5%BB%BA%E7%9C%81%E9%97%BD%E4%BE

但我希望链接如下:

http://localhost:8080/#/showSchools?name=第一中学

我尝试使用encodeUri过滤器:https://github.com/rubenv/angular-encode-uri将param编码为utf8,但它不起作用。

有人知道如何在网址中显示中文字符吗?

1 个答案:

答案 0 :(得分:0)

这可能为时已晚,但我认为这可能会有所帮助。

在尝试使用localhost测试角度应用程序(使用ui-router)时,在尝试显示网址中的中文字符时也遇到了同样的问题。

以前的网址显示如下:

http://localhost:56066/#/map/%E6%B1%9F%E8%8B%8F

但是,只要我添加以下行来清理网址:

$locationProvider.hashPrefix('!').html5Mode(true);

网址现在显示如下(我希望它们看起来像这样):

http://localhost:56066/map/黑龙江

我还没弄清楚为什么清理网址有帮助!