我目前正在使用 jQuery Mobile 为使用许多非 ASCII URL 的站点构建一个简单的界面。
例如:
http://localhost:1234/static/日本語.html
这通常不会出现任何问题,并且还可以使用百分比编码访问同一页面:
http://localhost:1234/static/%E6%97%A5%E6%9C%AC%E8%AA%9E.html
在页面标题中加载 jQuery Mobile 后,链接继续工作,但 iOS 5.1.1 上的 Safari 和 OS X 上的 Safari 5.1.7 在位置栏中显示似乎无效的百分比编码:
http://localhost:1234/static/%E5,%9E.html
这是有问题的,因为 URL 不能被添加书签或直接访问(返回 404)。Chrome 会按预期显示 URL。
顺便说一句,“%E5,%9E”似乎与“日本语”的任何常见百分比编码都不匹配: http://www.motobit.com/util/url-encoder.asp?data=日本语
最后,我用来加载 jQuery Mobile 的页眉:
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0/jquery.mobile.structure-1.1.0.min.css" />
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"></script>