Gre*_*g B 1 asp.net iis-6 friendly-url url-rewriting non-ascii-characters
我正在开发一个网站,客户已将其翻译成克罗地亚语和斯洛文尼亚语。为了与现有的 URL 模式保持一致,我们生成了模仿应用程序布局的 URL 重写规则,这导致 URL 中出现许多非 ASCII 字符。
\n\n示例 \xc5\xa1 \xc5\xbe \xc4\x8d
\n\n有些链接是使用 getURL 从 Flash 触发的,有些是标准 HTML 链接。有些是编程式的 Response.Redirects,有些是通过向响应添加 301 状态代码和位置标头来实现。我正在 IE6、IE7 和 Firefox 3 中进行测试,浏览器间歇性地显示非拉丁字符 url 编码。
\n\n\xc5\xa1 = %c5%a1\n\xc5\xbe = %c5%be\n\xc4\x8d = %c4%8d\nRun Code Online (Sandbox Code Playgroud)\n\n我猜这与 IIS 及其处理 Response.Redirect 和 AddHeader("Location ...
\n\n有谁知道强制 IIS 不对这些字符进行 URL 编码的方法,或者我最好的选择是用非变音符号替换这些字符?
\n\n谢谢
\n问问自己是否真的希望它们是非 url 编码的。当出现不支持这些字符的用户时会发生什么?我不知道,但我不想冒险让世界上大部分计算机无法使用我网站的大部分内容......
\n\n相反,请关注为什么需要此功能。是为了让网址看起来好看吗?如果是这样,使用常规 z 代替 \xc5\xbe 就可以了。您使用 url 进行用户输入吗?如果是这样,请在将所有内容解析为链接输出之前对其进行 url 编码,并在使用输入之前对其进行 url 解码。但不要在网址中使用 \xc5\xbe 和其他本地字母...
\n\n顺便说一句,在瑞典,我们有 \xc3\xa5、\xc3\xa4 和 \xc3\xb6,但没有人在 url 中使用它们 - 我们使用 a、a 和 o,因为否则浏览器将不支持这些 url 。这并不会让用户感到惊讶,很少有人会因为 URL 中缺少 \xc3\xa5 中的环而无法理解我们的目标是什么单词。文本仍然会正确显示在页面上,对吧?;)
\n| 归档时间: |
|
| 查看次数: |
3982 次 |
| 最近记录: |